티스토리 뷰

문제 설명

정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소의 평균값을 return하도록 solution 함수를 완성해주세요.

 

제한사항

  • 0 ≤ numbers의 원소 ≤ 1,000
  • 1 ≤ numbers의 길이 ≤ 100
  • 정답의 소수 부분이 .0 또는 .5인 경우만 입력으로 주어집니다.

 

입출력 예

  • numbers의 원소들인 [1, 2, 3, 4, 5, 6, 7, 8, 9, 10]의 평균 값은 5.5입니다.
  • numbers의 원소들인 [89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]의 평균 값은 94.0입니다.

풀이

function solution(numbers) {
    let sum = 0;
    
    sum = numbers.reduce((acc, curr) => acc + curr, 0);
    
    return sum / numbers.length;
}

 

설명

 

-reduce 함수를 사용해서 배열의 합을 구하면 되는 간단한 문제입니다.

 

-reduce 함수의 첫번째 인자에는 콜백함수가 들어가는데, acc는 '이전 값', curr은 '현재 값'을 나타냅니다. 배열을 돌면서 index 0번 부터 끝까지 더해주게 됩니다. 이 때 2번째 인자에 0으로 세팅을 해줘야 합니다.

 

reduce 메소드의 두 번째 인자는 초기 누산값을 설정하는 것입니다. 초기 누산값을 설정하지 않으면, 배열의 첫 번째 요소가 초기 누산값으로 사용되고, 두 번째 요소부터 반복이 시작됩니다. 따라서 초기 누산값을 설정하지 않으면 배열의 길이가 1일 경우 오류가 발생하거나, 원하지 않은 결과가 반환될 수 있습니다.

 

배열의 합계를 구하는 경우에 초기 누산값을 0으로 설정해야만 배열의 모든 요소가 정확하게 한 번씩 더해지고 최종 합계가 반환됩니다.

'프로그래머스 0단계' 카테고리의 다른 글

피자 나눠 먹기(1)(JS)  (0) 2023.03.24
양꼬치(JS)  (0) 2023.03.24
짝수의 합(JS)  (0) 2023.03.23
각도기(JS)  (0) 2023.03.23
숫자 비교하기(JS)  (0) 2023.03.23
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
TAG
more
«   2025/02   »
1
2 3 4 5 6 7 8
9 10 11 12 13 14 15
16 17 18 19 20 21 22
23 24 25 26 27 28
글 보관함