공부/algorithm

BOJ N번째 큰 수(2075) - Java

닭띠입니다만 2021. 12. 23. 14:32

문제 - https://www.acmicpc.net/problem/2075

 

2075번: N번째 큰 수

첫째 줄에 N(1 ≤ N ≤ 1,500)이 주어진다. 다음 N개의 줄에는 각 줄마다 N개의 수가 주어진다. 표에 적힌 수는 -10억보다 크거나 같고, 10억보다 작거나 같은 정수이다.

www.acmicpc.net

import java.io.*;
import java.util.*;

public class Main {

    static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
    static BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
    static StringTokenizer st;

    static int N;
    static PriorityQueue<Integer> pq = new PriorityQueue<>();

    public static void main(String[] args) throws IOException {

        N = Integer.parseInt(br.readLine());
        for (int i = 0; i < N; i++) {
            st = new StringTokenizer(br.readLine());
            for (int j = 0; j < N; j++) {
                pq.add(-Integer.parseInt(st.nextToken()));
            }
        }

        for (int i = 0; i < N; i++) {
            int answer = pq.poll();
        }
        bw.write(-answer+"\n");

        br.close();
        bw.flush();
        bw.close();
    }
}

크게 어려움은 없었던 PQ를 이용한 문제였다. 다만.. Java15버전에서는 메모리초과가 났다. PQ를 사용하지 않고 푸는 방법이 권장되는걸까??