평균 구하기 | 프로그래머스
할 수 있는 최대한 단순한 코드를 만들고, 문제를 해결하는 다른 방법도 찾아보자
평균 구하기 (LV.1)
문제
정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요.
function solution(arr) {
var answer = 0;
return answer;
}
제한 조건
- arr은 길이 1 이상, 100 이하인 배열입니다.
- arr의 원소는 -10,000 이상 10,000 이하인 정수입니다.
입출력 예
arr | return |
---|---|
[1,2,3,4] | 2.5 |
[5,5] | 5 |
풀이
Array.prototype.reduce()
function solution(arr) {
return arr.reduce((acc, cur) =>
acc + cur / arr.length, 0);
};
배열을 순회하며 누산하는 메소드 reduce를 사용한 솔루션
다른 사람의 풀이
reduce / parameter.length
function average(array){
return array.reduce((a, b) => a + b) / array.length;
}
똑같이 reduce를 사용했지만 각 루프마다 current 값을 나누는 대신 reduce의 반환값을 나눴다. 따라서 initial value도 필요하지 않다. 루프 내부를 최대한 간결하게 만드는 것이 최적화에 좋아보인다.
for...of
function average(array){
var sum = 0;
for(var value of array){
sum += value;
}
return sum/array.length;
}
reduce 대신 for..of 메소드로 배열의 모든 값을 더한 후 평균을 구함
Author And Source
이 문제에 관하여(평균 구하기 | 프로그래머스), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@oneook/평균-구하기-프로그래머스저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)