최빈값 구하기
https://school.programmers.co.kr/learn/courses/30/lessons/120812
📔 문제 설명
최빈값은 주어진 값 중에서 가장 자주 나오는 값을 의미합니다. 정수 배열 array가 매개변수로 주어질 때, 최빈값을 return 하도록 solution 함수를 완성해보세요. 최빈값이 여러 개면 -1을 return 합니다.
💡 입출력 예
n | result |
---|---|
6 | 1 |
10 | 5 |
4 | 2 |
💻내가 작성한 코드
1
2
3
4
5
6
7
8
function solution(array) {
const obj = {};
array.map((a, i) => (obj[a] ? (obj[a] += 1) : (obj[a] = 1)));
const maxNum = Math.max(...Object.values(obj));
const modeNum = Object.keys(obj).filter((key) => obj[key] === maxNum);
return modeNum.length > 1 ? -1 : +modeNum[0];
}
This post is licensed under CC BY 4.0 by the author.