JAVA공부
최빈값 구하기
ideas0123
2024. 11. 21. 17:05
프로그래머스 문제)
최빈값은 주어진 값 중에서 가장 자주 나오는 값을 의미합니다.
정수 배열 array가 매개변수로 주어질 때, 최빈값을 return 하도록 solution 함수를 완성해보세요.
최빈값이 여러 개면 -1을 return 합니다.
제한사항
0 < array의 길이 < 100
0 ≤ array의 원소 < 1000
function solution(array) {
var answer = 0;
var count=new Map();
var result_array=[];//최빈값넣을 array
var max=0;
for(let i of array){
if(!count.has(i)){//i값이 없다면 count=0
count.set(i, 0);
}else if(count.has(i)){//i 값이 있다면, 있던 값에 count+1
count.set(i, count.get(i)+1)
while(count.get(i)>max){
max++;
}
}
}
for(let [k, v] of count){
if(v==max){
result_array.push(k);//key값 주입
}
}
answer = result_array.length==1? result_array[0]:-1;
return answer;
}