[Programmers] 평균 구하기

2022. 9. 22. 11:27기록/Programmers

    목차

문제 설명

정수를 담고 있는 배열 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) {
    let sum = 0;
    
    arr.forEach((num) => {
        sum += num;
    });
    
    sum = sum / arr.length;
    
    return sum;
}

forEach 함수를 이용해 배열의 값을 하나씩 꺼내어 answer 변수에 누적해서 더해주었다.

그 후 answer 값을 배열의 길이만큼 나누었다.


다른 사람의 문제 풀이

 

function average(array){
  return array.reduce((a, b) => a + b) / array.length;
}

reduce 함수를 이용해 값을 누적시켜 리턴하고, 그 값을 배열의 길이만큼 나누었다.

화살표 함수를 사용해 코드를 더 간결하게 작성하였다.

 

function average(array){
  var sum = 0;
  for(var i = 0; i < array.length; i++)
    sum += array[i];
  return sum / array.length;
}

배열의 요소를 인덱스를 이용해 하나씩 꺼내기 위해서 for 문을 사용했다.

var 를 사용한 것을 보니 ES5 문법이 적용된 가장 기본적인 코드인 것 같다.

 

ES5 문법이 적용된 코드와 ES6 문법이 적용된 코드를 비교해 보니

확실히 ES6 문법으로 작성한 코드가 훨씬 가독성이 좋으면서도 간결해 보인다.

앞으로 ES6 에서 새로 제공된 요소들을 잘 활용해야겠다.