

최빈값은 주어진 값 중에서 가장 자주 나오는 값을 의미합니다. 정수 배열 array가 매개변수로 주어질 때, 최빈값을 return 하도록 solution 함수를 완성해보세요. 최빈값이 여러 개면 -1을 return 합니다.
입출력 예
array result [1, 2, 3, 3, 3, 4] 3 [1, 1, 2, 2] -1 [1] 1
- 배열을 순회하면서 각 숫자가 몇 번 등장하는지 세는 객체를 만듦.
- 이 객체를 사용해 가장 빈도가 높은 숫자를 찾기.
- 최빈값이 여러 개라면 -1을 반환하고, 그렇지 않으면 최빈값을 반환.
function solution(array) {
let count = {};
array.forEach((num) => {
if (count[num]) {
count[num] += 1;
} else {
count[num] = 1;
}
});
let maxFreq = Math.max(...Object.values(count));
let mode = Object.keys(count).filter((key) => count[key] === maxFreq);
if (mode.length > 1) return -1;
return Number(mode[0]);
}
유익한 글 잘 봤습니다, 감사합니다.