[Java] 백준 2705번: N번째 큰 수

U·2024년 10월 16일

백준

목록 보기
66/116

[문제 바로 가기] - N번째 큰 수

💡 접근 방식

간단하게 우선순위 큐 사용하여 풀이하면 되는 문제로 모든 예제에서 N번째 큰 수를 구해야하므로 내림차순으로 정렬하면 된다.

우선순위 큐 오름차순

PriorityQueue<Integer> queue = new PriorityQueue<>();

우선순위 큐 내림차순

PriorityQueue<Integer> queue = new PriorityQueue<>(Collections.reverseOrder());

풀이

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Collections;
import java.util.PriorityQueue;
import java.util.StringTokenizer;

public class Main {
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringTokenizer st;
		
		int N = Integer.parseInt(br.readLine());
		PriorityQueue<Integer> queue = new PriorityQueue<>(Collections.reverseOrder());
		
		for (int i = 0; i < N; i++) {
			st = new StringTokenizer(br.readLine());
			
			for (int j = 0; j < N; j++) {
				queue.add(Integer.parseInt(st.nextToken()));
			}
		}
		
		for (int i = 0; i < N - 1; i++) {
			queue.poll();
		}
		
		System.out.println(queue.poll());
	}
}
profile
백엔드 개발자 연습생

0개의 댓글