
-Code
import java.io.*;
import java.util.*;
public class BOJ11652 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int cnt = Integer.parseInt(br.readLine());
// map으로 숫자당 총 등장 갯수 저장
Map<Long, Long> numCnt = new HashMap<>();
for (int i = 0; i < cnt; i++) {
long num = Long.parseLong(br.readLine());
long getCnt = numCnt.getOrDefault(num, 0L) + 1;
numCnt.put(num, getCnt);
}
// 정렬에 사용하기 위한 리스트
ArrayList<Long> nums = new ArrayList<>(numCnt.keySet());
nums.sort(((o1, o2) -> {
// 등장 갯수가 같은 경우 숫자가 작은 것부터
if (numCnt.get(o2).compareTo(numCnt.get(o1)) == 0) {
return o1.compareTo(o2);
}
// 갯수가 많은순 정렬
return numCnt.get(o2).compareTo(numCnt.get(o1));
}));
System.out.println(nums.get(0));
}
}
타입 문제와 정렬 시 배열을 사용과 동일 출현 개수시 처리를 빼먹어서 틀렸었습니다.
'Beakjoon&프로그래머스 > Java' 카테고리의 다른 글
| [백준/Java] 1431번 시리얼 번호 (0) | 2026.01.31 |
|---|---|
| [백준/Java] 5648번 역원소 정렬 (0) | 2026.01.31 |
| [백준/Java] 5169번 A Fistful of Dollars (0) | 2026.01.31 |
| [백준/Java] 1543번 문서 검색 (0) | 2026.01.30 |
| [백준/Java] 2146번 다리 만들기 (0) | 2026.01.30 |