티스토리 뷰

문제 설명

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

 

제한사항

 - 0 ≤ numbers 의 원소 ≤ 1,000

 - 1 ≤ numbers 의 길이 ≤ 100

 - 정답의 소수 부분이 .0 또는 .5인 경우만 입력으로 주어집니다.

 

문제 풀이

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

 

1. 모든 원소의 합 구하기

let sum = numbers.reduce((acc, cur) => {
	return acc + cur;
},0);

 - 'sum'이라는 변수를 선언하고 'numbers' 배열의 모든 원소를 더한 값을 할당한다. 

 - 'numbers.reduce'는 배열의 모든 원소를 하나씩 순회하며 누적 결과를 계산하는 함수.

 - 'reduce' 메서드는 두 가지 인자를 받는다 : 콜백 함수(acc), 초기값(cur)

 

 1-1 콜백 함수

(acc,cur) => {
	return acc + cur;
}

 - 'reduce'메서드의 콜백 함수는 두 개의 매개변수를 받는다.

  1. 'acc' (accumulator, 누적기) : 이전까지의 누적 값.

  2. 'cur' (current, 현재 값) : 현재 순회 중인 배열의 원소.

 - 콜백 함수는 'acc + cur'을 반환한다. 즉, 누적 값에 현재 값을 더하여 반환한다.

 - 이 콜백 함수는 배열의 모든 원소에 대해 반복된다.

 

 1-2 초기값

0

 -'reduce' 메서드의 두 번째 인자는 초기값이다. 여기서는 '0'을 초기값으로 설정한다.

 - 따라서, 첫 번째 순회에서 'acc'는 '0'이고 'cur'는 배열의 첫 번째 원소이다.

 

1-3 평균 계산

let average = sum / numbers.length;

 - 'sum' 변수에는 배열의 모든 원소를 더한 값이 들어 있다.

 - 'numbers.length' 는 배열의 길이, 즉 원소의 개수이다. 

 - 'sum' 을 'numbers.length' 로 나누면 배열 원소들의 평균이 된다.

 - 이 값을 'average' 변수에 할당한다.

 

1-4 평균값 반환

return average;

 - 'average'값을 변환하여 함수가 종료된다.

 - 이 값은 'numbers' 배열의 원소들의 평균이다.

공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2025/04   »
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 29 30
글 보관함