PS/Programmers

Programmers / Level 0 / 최빈값 구하기 / JS

KimMinJun 2023. 1. 11. 00:21

< 문제 바로가기 >

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

function solution(array) {
  let answer = 0;
  let numberCountObj = {};
  
  array.forEach((el) => {
     numberCountObj[el] = numberCountObj[el] + 1 || 1;
  });
  
  let max = Math.max(...Object.values(numberCountObj));
  let cnt = 0;
  
  Object.entries(numberCountObj).forEach(el => {
     if(el[1] === max) {
         cnt += 1;
         answer = parseInt(el[0]);
     }
  });
  
  if(cnt > 1) answer = -1;
  
  return answer;
}