정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요.
arr은 길이 1 이상, 100 이하인 배열입니다.
arr의 원소는 -10,000 이상 10,000 이하인 정수입니다.
arr | result |
---|---|
[1,2,3,4] | 2.5 |
[5,5] | 5 |
생각한 순서
1. 각 배열의 정수를 더한다.
2. 배열 개수 만큼 나누자!
function solution (arr) {
answer=0
for (let i = 0 ; i < arr.length; i ++){
answer += arr[i]
}
return answer =answer/arr.length
}
function solution (arr) {
return arr.reduce((a,b)=>a+b) / arr.length
}
reduce() 메서드를 이용하면 한줄로 해결 할 수 있었다.
reduce는 실행시킨 배열을 순서대로 돌며, 주어진 처리를 실행하여 하나의 값을 리턴하는 메서드이다.
let a = [1,2,3,4]
[1, 2, 3, 4].reduce( (a, b) => a + b );
//reduce 매서드 안에 화살표 함수 사용
()=>{}
// 10
a | b | 반환값 |
---|---|---|
1 | 2 | 3 |
3 | 3 | 6 |
6 | 4 | 10 |
=> 최종 반환값은 '10'
많은 매서들이 개발에 도움이 된다는 걸 느꼈다.
알고리즘 문제를 풀어 나가는 것은 일런 응용을 어떻게 잘 하는가가 판가름 하는 것 같다.
참고 링크
reduce()메서드
화살표 함수 : ()=>{}
replit
링크텍스트