문제 설명

정수 배열 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입니다.

✍ SOLUTION1

const solution = (number) => number.reduce((sum,x)=>sum+x,0)/number.length;

/* 내가 처음에 작성했던 방식이다. reduce를 이용해서 number의 요소값을 다 더해주었고 
number.length로 나누어서 평균을 구해주었다. */

✍ SOLUTION2

function solution(numbers) {
    var answer = 0;
    for(i of numbers) {
        answer += i
    }
    return answer / numbers.length;

}

/* 다른 분들 풀이 보다가 가져왔다. numbers는 배열이기 때문에 for of문을 이용해서 numbers의
요소를 i로 하나씩 꺼내와서 answer에 더하며 저장해주었다. return 값으로 answer에 
numbers.length를 나누어 평균을 구해주었다. */

✍ SOLUTION3

function solution(numbers) {
    let count = 0
    for(let i = 0; i < numbers.length; i++) {
        count = count + numbers[i] / numbers.length
    }
    return count
}

/* 이것도 다른 분 풀이인데 SOLUTION2와 비슷하지만 이건 기본 for문을 이용하여 인덱스로 접근하여
count에 추가해주는 방식으로 진행되었다. */

✍ SOLUTION4

function solution(numbers) {
    let result = 0;

    numbers.map((item) => {
        result += item;
    });

    return result/numbers.length;
}

/* 이것도 다른 분 풀이인데 map을 이용하여 result에 다 더한 값을 추가하여 result에 
numbers.length를 나누어 진행하였다. */

출처 : 프로그래머스 스쿨 | 코딩테스트 연습
https://school.programmers.co.kr/learn/courses/30/lessons/120817

0개의 댓글