https://school.programmers.co.kr/learn/courses/30/lessons/12944
문제 설명
정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요.
제한사항
- arr은 길이 1 이상, 100 이하인 배열입니다.
- arr의 원소는 -10,000 이상 10,000 이하인 정수입니다.
입출력 예
arrreturn[1,2,3,4] | 2.5 |
[5,5] | 5 |
function solution(arr) {
let sum = 0
arr.forEach(n => {
sum += n
})
return sum / arr.length;
}
reduce 사용하기
acc는 누적값, cur는 현재값
function solution(arr) {
let answer = arr.reduce((acc, cur) => acc + cur) / arr.length
return answer;
}
reduce 사용법
배열.reduce((누적값, 현잿값, 인덱스, 요소) => { return 결과 }, 초깃값);
let oneTwoThree = [1, 2, 3]
let temp = oneTwoThree.reduce((acc, cur, i) => {
console.log("누적 값",acc, "현재값",cur, "인덱스",i)
return acc + cur
}, 0)
console.log("결과", temp)
//누적 값 0 현재값 1 인덱스 0
//누적 값 1 현재값 2 인덱스 1
//누적 값 3 현재값 3 인덱스 2
//결과 6
//초기값을 적어주지 않으면 초기값은 0번째 인덱스의 값이다.
let temp = oneTwoThree.reduce((acc, cur, i) => {
console.log("누적 값",acc, "현재값",cur, "인덱스",i)
return acc + cur
})
console.log("결과", temp)
//누적 값 1 현재값 2 인덱스 1
//누적 값 3 현재값 3 인덱스 2
//결과 6
reduce로 배열에 push 해서 새로운 배열 만들기(map 이랑 동일한 기능)
let result = oneTwoThree.reduce((acc, cur) => {
acc.push(cur % 2 ? '홀수' : '짝수');
console.log("acc >", acc)
return acc;
}, []);
console.log("결과", result)
//acc > [ '홀수' ]
//acc > [ '홀수', '짝수' ]
//acc > [ '홀수', '짝수', '홀수' ]
//결과 [ '홀수', '짝수', '홀수' ]
let result = oneTwoThree.reduce((acc, cur) => {
if (cur % 2) acc.push(cur)
console.log(acc)
return acc
}, []);
console.log("결과", result)
//acc > [ 1 ]
//acc > [ 1 ]
//acc > [ 1, 3 ]
//결과 [ 1, 3 ]
'코테풀이 > 자바스크립트 코테 전환' 카테고리의 다른 글
[자바스크립트 | 프로그래머스 1단계] 정수 내림차순으로 배치하기, 자연수 뒤집어 배열로 만들기 (0) | 2022.08.07 |
---|---|
[자바스크립트 | 프로그래머스 1단계] 가장 작은수 제거하기 (0) | 2022.08.07 |
[자바스크립트 | 프로그래머스 1단계] 하샤드 수 (0) | 2022.08.06 |
[자바스크립트 | 프로그래머스 1단계] 핸드폰 번호 가리기 (0) | 2022.08.06 |
[자바스크립트 | 프로그래머스 1단계] 행렬의 덧셈 (0) | 2022.08.06 |
[자바스크립트 | 프로그래머스 1단계] 평균구하기