티스토리 뷰
문제 설명
정수 배열 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 |