개발/알고리즘(코딩테스트)
프로그래머스, 자바스크립트) 최빈값 구하기
빔네모
2024. 5. 16. 23:41
문제
https://school.programmers.co.kr/learn/courses/30/lessons/120812
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
풀이
key는 해당 숫자, value는 갯수 를 가지는 객체를 만든다. 그리고 객체를 갯수 순서대로 정렬해서 조건에 맞게 비교한다.
function solution(array) {
const obj = {};
array.forEach((element) => {
obj[element] = obj[element] ? obj[element] + 1 : 1;
});
//value가 큰 순서대로 정렬
const result = Object.keys(obj).sort((a, b) => obj[b] - obj[a]);
return obj[result[0]] === obj[result[1]] ? -1 : +result[0];
}