[프로그래머스] 배열의 평균값


문제 설명

정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소의 평균값을 return하도록 solution 함수를 완성해주세요.


제한사항

  • 0 ≤ numbers의 원소 ≤ 1,000
  • 1 ≤ numbers의 길이 ≤ 100
  • 정답의 소수 부분이 .0 또는 .5인 경우만 입력으로 주어집니다.

입출력 예

numbersresult
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10]5.5
[89, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99]94.0

입출력 설명

입출력 예 #1

  • numbers의 원소들의 평균 값은 5.5입니다.

입출력 예 #2

  • numbers의 원소들의 평균 값은 94.0입니다.

나의 첫번째 풀이

function solution(numbers) {
  var answer = 0;
  const max = Math.max.apply(null, numbers);
  const min = Math.min.apply(null, numbers);
  var answer = (max + min) / 2;
  return answer;
}

나의 두번째 풀이(Code Refactoring)

function solution(numbers) {
  return (numbers[0] + numbers[numbers.length - 1]) / 2;
}

// 원소에서 가장 큰 값과 마지막값을 2로 나누어봤다

참고 할 만한 다른 사람의 코드

function solution(numbers) {
  var answer = numbers.reduce((a, b) => a + b, 0) / numbers.length;
  return answer;
}

//reduce로 값을 누적 계산하는 방법 => 내가 자주 활용하는 방법이라 다른 문법을 써봄