whatisthis?
[프로그래머스] 평균 구하기 - JavaScript 본문
javascript
문제 설명
정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요.
제한 조건
- arr은 길이 1 이상, 100 이하인 배열입니다.
- arr의 원소는 -10,000 이상 10,000 이하인 정수입니다.
예시
입출력 예
arr return
[1,2,3,4] 2.5
[5,5] 5
내가 작성한 코드
function solution(arr) {
const sum = arr.reduce((prev, cur) => prev + cur);
return sum / arr.length;
}
배열의 합 or 평균을 구할 때 가장 적합한 방법은 reduce
메서드를 활용하는 것이다!
반복문(for, for...of)을 사용하지 않기 때문에 성능도 좋다.
실행 결과
테스트 1 〉 통과 (0.05ms, 30.1MB)
테스트 2 〉 통과 (0.04ms, 30.2MB)
테스트 3 〉 통과 (0.05ms, 30MB)
테스트 4 〉 통과 (0.04ms, 30MB)
테스트 5 〉 통과 (0.13ms, 30.1MB)
테스트 6 〉 통과 (0.05ms, 29.9MB)
테스트 7 〉 통과 (0.05ms, 30.2MB)
테스트 8 〉 통과 (0.04ms, 30.2MB)
테스트 9 〉 통과 (0.06ms, 30.1MB)
테스트 10 〉 통과 (0.08ms, 30.1MB)
테스트 11 〉 통과 (0.05ms, 30.1MB)
테스트 12 〉 통과 (0.05ms, 30MB)
테스트 13 〉 통과 (0.08ms, 30MB)
테스트 14 〉 통과 (0.04ms, 30.3MB)
테스트 15 〉 통과 (0.05ms, 30.1MB)
테스트 16 〉 통과 (0.05ms, 30.2MB)
+) forEach
를 사용하는 방법도 있다. (성능은 거의 비슷하다!)
function solution(arr) {
let sum = 0;
arr.forEach(x => {
sum += x;
})
return sum / arr.length;
}
++) for...of
를 사용하는 방법도 있다.
function solution(arr) {
let sum = 0;
for (let i of arr) {
sum += i;
}
return sum / arr.length;
}
'ALGORITHM > PROGRAMMERS' 카테고리의 다른 글
[프로그래머스] 최대공약수와 최소공배수 - JavaScript (0) | 2022.07.05 |
---|---|
[프로그래머스] 콜라츠 추측 - JavaScript (0) | 2022.07.05 |
[프로그래머스] 핸드폰 번호 가리기 - JavaScript (0) | 2022.07.05 |
[프로그래머스] 행렬의 덧셈 - javaScript (0) | 2022.07.05 |
[프로그래머스] 하샤드 수 - JavaScript (0) | 2022.07.05 |