whatisthis?

[프로그래머스] 평균 구하기 - JavaScript 본문

ALGORITHM/PROGRAMMERS

[프로그래머스] 평균 구하기 - JavaScript

thisisyjin 2022. 7. 5. 09:34

javascript

문제 설명

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

제한 조건

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

예시

입출력 예

arr            return
[1,2,3,4]    2.5
[5,5]        5

내가 작성한 코드

function solution(arr) {
    const sum = arr.reduce((prev, cur) => prev + cur);
    return sum / arr.length;
}

배열의 합 or 평균을 구할 때 가장 적합한 방법은 reduce 메서드를 활용하는 것이다!
반복문(for, for...of)을 사용하지 않기 때문에 성능도 좋다.


실행 결과

테스트 1 〉    통과 (0.05ms, 30.1MB)
테스트 2 〉    통과 (0.04ms, 30.2MB)
테스트 3 〉    통과 (0.05ms, 30MB)
테스트 4 〉    통과 (0.04ms, 30MB)
테스트 5 〉    통과 (0.13ms, 30.1MB)
테스트 6 〉    통과 (0.05ms, 29.9MB)
테스트 7 〉    통과 (0.05ms, 30.2MB)
테스트 8 〉    통과 (0.04ms, 30.2MB)
테스트 9 〉    통과 (0.06ms, 30.1MB)
테스트 10 〉    통과 (0.08ms, 30.1MB)
테스트 11 〉    통과 (0.05ms, 30.1MB)
테스트 12 〉    통과 (0.05ms, 30MB)
테스트 13 〉    통과 (0.08ms, 30MB)
테스트 14 〉    통과 (0.04ms, 30.3MB)
테스트 15 〉    통과 (0.05ms, 30.1MB)
테스트 16 〉    통과 (0.05ms, 30.2MB)

+) forEach를 사용하는 방법도 있다. (성능은 거의 비슷하다!)

function solution(arr) {
    let sum = 0;
    arr.forEach(x => {
        sum += x;
    })
    return sum / arr.length;
}

++) for...of를 사용하는 방법도 있다.

function solution(arr) {

    let sum = 0;
    for (let i of arr) {
        sum += i;
    }

    return sum / arr.length;
}