0%

201122_TIL(심심풀이 코딩 문제)

오늘 한 것

공부한 javaScript 코딩 문제

1.수박수박수박수박수박수?

문제 설명
길이가 n이고, 수박수박수박수….와 같은 패턴을 유지하는 문자열을 리턴하는 함수, solution을 완성하세요. 예를들어 n이 4이면 수박수박을 리턴하고 3이라면 수박수를 리턴하면 됩니다.

제한 조건
n은 길이 10,000이하인 자연수입니다.

입출력 예
n return
3 수박수
4 수박수박

나의 답

1
2
3
4
5
6
7
8
9
function solution(n) {
var arr = "";
var answer = "";
for (var i = 0; i < n; i++) {
i % 2 == 0 ? (arr += "수") : (arr += "박");
}
answer = arr;
return answer;
}

타인의 답안

  1. 이 답안을 보고 엄청 웃었다.

    1
    2
    3
    4
    5
    6
    7
    function waterMelon(n) {
    var result =
    "수박수박수박수박수박수박수박수박수박수박수박수박수박수박수박수박수박수박수박수박수박수박수박수박수박수박수박수박수박수박수박수박";
    //함수를 완성하세요

    return result.substring(0, n);
    }
  2. 고차함수를 이용하는 것이 확실히 깔끔하다.

    1
    2
    3
    const waterMelon = (n) => {
    return "수박".repeat(n / 2) + (n % 2 === 1 ? "수" : "");
    };

2. 평균 구하기

문제 설명
정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요.

제한사항
arr은 길이 1 이상, 100 이하인 배열입니다.
arr의 원소는 -10,000 이상 10,000 이하인 정수입니다.

입출력 예
arr return
[1,2,3,4] 2.5
[5,5] 5

나의 답

1
2
3
4
5
6
7
8
9
10
11
function solution(arr) {
var result = 0;
var answer = 0.0;

for (var i = 0; i < arr.length; i++) {
result += arr[i];
}

answer = result / arr.length;
return answer;
}

감탄한 타인의 답안

1
2
3
function average(array) {
return array.reduce((a, b) => a + b) / array.length;
}
  • 이렇게 짧게되는 걸.. 함수에 대한 이해가 더 필요하다.

출처: programmers

Nyong’s GitHub