알고리즘
[Programmers algorithm👀] 배열의 평균값
미리구
2022. 12. 7. 17:28
1. 문제설명
🔊 정수 배열 numbers가 매개변수로 주어집니다. numbers의 원소의 평균값을 return하도록 solution 함수를 완성해주세요.
[ 제한조건 ]
◾0 ≤ numbers의 원소 ≤ 1,000
◾1 ≤ numbers의 길이 ≤ 100
◾정답의 소수 부분이 .0 또는 .5인 경우만 입력으로 주어집니다.
[ 입출력예시 ]
numbers | result |
[1, 2, 3, 4, 5, 6, 7, 8, 9, 10] | 5.5 |
[80, 90, 91, 92, 93, 94, 95, 96, 97, 98, 99] | 94.0 |
[ 답안 포맷 ]
function solution(numbers) {
var answer = 0;
return answer;
}
2. 문제풀이
function solution(numbers) {
// numbers 배열 원소 총 합의 평균
const answer = numbers.reduce((acc, cur) => acc + cur, 0) / numbers.length
// 평균의 소숫점 첫째 자릿수가 0 또는 5인 경우, 소수점 첫째 자리까지 표기
// 아닌 경우, 정수만 표기
if (answer.toFixed(1).toString().split(".")[1] === "0" || "5") {
return answer.toFixed(1)
}
return Math.floor(answer)
}
문제를 잘못 이해했던것 같다.
문제의 제한사항을 보고 소숫점 첫째 자리수가 .0 또는 .5일경우에는 소숫점 첫째자리수까지 표기해주라는 건 줄 알고
if문을 사용해서 조건을 줬던건데 필요가 없었다..ㅋㅋㅋ
이 부분을 빼면 아주 간단하게 코드를 작성할 수 있었다.
function solution(numbers) {
// numbers 배열 원소 총 합의 평균
return answer = numbers.reduce((acc, cur) => acc + cur, 0) / numbers.length
}