백준 2075번: N번째 큰 수 [우선순위큐][정렬][자료구조] -Java :: 매운코딩
728x90
300x250

 

결국 들어온 수 중에서 N번째로 큰수를 구하는 것이기때문에 굳이 2차원 배열을 사용할 필요가 없다.

 

<Java 코드>

import java.io.BufferedReader;
import java.io.FileInputStream;
import java.io.IOException;
import java.io.InputStreamReader;
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 = new StringTokenizer(br.readLine());
		
		int N = Integer.parseInt(st.nextToken());
		PriorityQueue<Integer> pq = new PriorityQueue<>((o1,o2) ->{
			return o1 > o2 ? -1:1;
		});
		
		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-1; i++) {
			pq.poll();
		}
		System.out.println(pq.poll());
	}

}

https://www.acmicpc.net/problem/2075

 

 

 

728x90

+ Recent posts