https://www.acmicpc.net/problem/1302
1302번: 베스트셀러
첫째 줄에 오늘 하루 동안 팔린 책의 개수 N이 주어진다. 이 값은 1,000보다 작거나 같은 자연수이다. 둘째부터 N개의 줄에 책의 제목이 입력으로 들어온다. 책의 제목의 길이는 50보다 작거나 같고
www.acmicpc.net
문자열은 어려워요
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.HashMap;
import java.util.PriorityQueue;
public class Main {
static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
public static void main(String[] args) throws Exception {
HashMap<String, Integer> map = new HashMap<>();
int N = Integer.parseInt(br.readLine());
for (int i = 0; i < N; i++) {
String input = br.readLine();
if (map.containsKey(input)) {
map.put(input, map.get(input) + 1);
} else map.put(input, 1);
}
PriorityQueue<Set> pq = new PriorityQueue<>(((o1, o2) -> {
if (o1.v == o2.v) return o1.k.compareTo(o2.k);
return o2.v - o1.v;
}));
map.entrySet().forEach(set -> {
pq.offer(new Set(set.getKey(), set.getValue()));
});
System.out.print(pq.poll().k);
}
static class Set {
String k;
int v;
public Set (String k, int v) {
this.k = k;
this.v = v;
}
}
}
'OJ' 카테고리의 다른 글
[BOJ] 17609 회문 (JAVA) (0) | 2023.02.12 |
---|---|
[BOJ] 5052 전화번호 목록 (JAVA) (0) | 2023.02.11 |
[BOJ] 1708 볼록 껍질 (JAVA) (1) | 2023.02.09 |
[BOJ] 9935 문자열 폭발 (JAVA) (2) | 2023.02.08 |
[BOJ] 7567 그릇 (JAVA) (0) | 2023.02.07 |