bravo my life!

[항해99][알고리즘] [JavaScript] 평균 구하기 본문

Algorithm

[항해99][알고리즘] [JavaScript] 평균 구하기

losajjang 2022. 3. 12. 20:24
728x90

문제 설명

정수를 담고 있는 배열 arr의 평균값을 return하는 함수, solution을 완성해보세요.


제한사항

  • arr은 길이 1 이상, 100 이하인 배열입니다.
  • arr의 원소는 -10,000 이상 10,000 이하인 정수입니다.

입출력 예

arr return
[1,2,3,4] 2.5
[5,5] 5

solution.js

function solution(arr) {
    var sum = 0;
    var answer = 0;
    for (let i = 0; i < arr.length; i++) {
    //반복문을 실행한다.
      sum += arr[i]
      //변수 sum에 arr배열의 i번째를 합한다.
    }
    answer = sum/arr.length
    //변수 sum에 할당되어 있는 값에 arr배열의 길이만큼 나누어 주고 변수 answer에 저장한다.
    return answer;
}
console.log(solution([1,2,3,4]))

또 다른 풀이

function solution(arr) {

  var result =  arr.reduce((acc, cur) => acc + cur, 0);
  //reduce 함수를 이용한다. acc는 이전요소의 누적값,cur은 현재 처리중인 배열의 요소이고, 0은 초기값이다.
  //첫번째 턴으로 acc에는 초기값인 0이 할당되고, cur은 첫번째 배열의 값이 할당된다.
  //현재의 누적값은 첫번째 배열의 값이 합해져 있다.
  //두번째 턴으로 acc에는 누적값인 첫번째 배열의 값이고, cur은 두번째 배열의 값이 할당된다.
  //현재의 누적값은 첫번째 배열과 두번째 배열이 합해진 값이다.
  //이후 배열의 길이만큼 진행된다.
  var avr = result / arr.length
  //결과값을 배열의 길이만큼 나누어주고 변수 avr에 저장한다.
  return avr
}
console.log(solution([1,2,3,4]))