알고리즘/코테 문제풀이
[프로그래머스] 최빈값 구하기
최새벽
2024. 9. 3. 09:42
사용언어: Java
# 최빈값 구하기 (Lv. 0)
https://school.programmers.co.kr/learn/courses/30/lessons/120812
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
import java.util.*;
class Solution {
public int solution(int[] array) {
Map<Integer, Integer> map = new HashMap<>();
for(int num : array){
if(map.containsKey(num)){
map.put(num, map.get(num)+1);
}
else{
map.put(num, 1);
}
}
List<Map.Entry<Integer, Integer>> list = new ArrayList<Map.Entry<Integer, Integer>>(map.entrySet());
Collections.sort(list, new Comparator<>(){
@Override
public int compare(Map.Entry<Integer, Integer> o1, Map.Entry<Integer, Integer> o2){
return o2.getValue().compareTo(o1.getValue());
}
});
System.out.println(list);
if(list.size() > 1 && list.get(0).getValue() == list.get(1).getValue()){
return -1;
}
else{
return list.get(0).getKey();
}
}
}
map 사용 연습