JavaScript 코딩테스트 10일차


음 어떤 함수를 써야할지 잘 모르겠다.
깃 북 봐도 답이 안나와서 바로 구글링..
자바스크립트에서 배열의 합계와 평균을 구하는 방법으로 reduce( )를 사용하면 된다.
또한, 배열의 역순으로 연산을 원할 때는 reduceRight( )를 사용하면 된다.
음 for문으로 해봐야겠다
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 가 [1,3,5] 라면
배열의 인덱스는 2까지
배열의 길이는 3까지
배열의 평균값을 구하고자 하는 것이니 일반적으로 수식을 생각해보면
numbers의 평균 : numbers 숫자의 합 / numbers.length (숫자들의 갯수)
프로그래밍 식에 적용하면
let sum = 0
sum이라는 함수에 값을 할당
for (let i = 0, i < numbers.length; i++) {
sum += number[i]
}
i를 통해 반복문 진행
조건식 : i (0) < numbers.length(3)
실행문장 : sum (0) + numbers[0] = 1
증감식 : i(0) + 1
조건식 : i (1) < numbers.length(3)
실행문장 : sum (1) + numbers[1] = (1+3 = 4)
증감식 : i (1) + 1
조건식 : i (2) < numbers. length(3)
실행문장 : sum (4) + numbers[2] = (4+5 = 9)
증감식 : i (2) + 1
조건식 : i (3) < numbers.length(3) 으로
조건식의 참에 부합하지 않아 for문을 빠져나옴
sum에 저장되어있는 값은 9이며
let answer = sum / numbers.length;
return answer;
numbers.length 길이로 나누기를 해준다음에 리턴시켜주면 된다.