
1. 높은 숫자가 우선 순위인 PriorityQueue 선언
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
PriorityQueue<Integer> pq = new PriorityQueue<>(Collections.reverseOrder());
2. 입력된 숫자를 모두 담고 N번만큼 꺼내서 출력
int N = Integer.parseInt(br.readLine());
for(int i = 0; i < N; i++) {
StringTokenizer st = new StringTokenizer(br.readLine());
while(st.hasMoreTokens()) {
pq.offer(Integer.parseInt(st.nextToken()));
}
}
int rst = 0;
for(int i = 0; i < N; i++) {
rst = pq.poll(); // 첫번째 값을 반환
}
System.out.println(rst);
}
}
시간복잡도는 삽입, 삭제 모두 O(NLogN)이다.
