프로그래머스 <배열의 평균값>
문제 설명
정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소의 평균값을 return하도록 solution 함수를 완성해주세요.
제한사항
0 ≤ numbers의 원소 ≤ 1,000
1 ≤ numbers의 길이 ≤ 100
정답의 소수 부분이 .0 또는 .5인 경우만 입력으로 주어집니다.
문제풀이
function solution(numbers) {
let sum = 0
for (let i = 0; i < numbers.length; i++) {
sum += numbers[i]
}
let answer = sum / numbers.length;
return answer;
}
중요개념
배열 요소, 배열 길이, for 반복문을 이용하는 문제.
만약 numbers = [2, 4, 6, 8] 이라면
numbers 배열의 인덱스는 3
numbers 배열의 배열 길이. 곧 numbers.length는 4가 된다.
이때 numbers 원소의 평균값을 구하려면,
numbers 평균값 = numbers 원소들의 합 % numbers.length (20 % 4)
이를 프로그래밍 식에 적용하면
let sum = 0
for (let i = 0; i < numbers.length; i++) {
/*
numbers의 배열 요소 = numbers.length-1
i가 0부터 numbers.length 길이 미만인 수까지 반복식을 달아준다.
*/
sum += numbers[i]
}
i가 0일 때, numbers[0] = 2
i가 1일 때, numbers[1] = 4
i가 2일 때, numbers[2] = 6
i가 3일 때, numbers[3] = 8
numbers.length는 4이므로 i는 3일때 까지만 반복 수행.
sum = 0 + numbers[0] = 2
sum = 2 + numbers[1] = 6
sum = 6 + numbers[2] = 12
sum = 12 + numbers[3] = 20
let answer = sum / numbers.length;
return answer;
}