Completion over Perfection

백준 2075 - N번째 큰 수 (JAVA 자바) 본문

앨고리듬 알고리즘

백준 2075 - N번째 큰 수 (JAVA 자바)

난차차 2020. 11. 30. 20:50
반응형

백준 2075 - N번째 큰 수 (JAVA 자바)

www.acmicpc.net/problem/2075

 

2075번: N번째 큰 수

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

www.acmicpc.net

 

 

우선순위큐의 개념을 이해하는 데 좋은 문제 같습니다. 

우선순위큐에 다 넣어주고, 5번째 큰 수를 q.poll()로 꺼내주어 출력하면 됩니다.

 

우선순위큐는 우선순위가 높은(숫자가 작은) 것부터 출력하는 것이 디폴트이기 때문에, 

큰수부터 출력하도록  Collections.reverseOrder()를 넣어서 선언해줍시다~

 

 

 

 

 

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
import java.util.*;
 
public class Main {
 
    static int n;
    
    public static void main(String[] args) {
 
        Scanner sc = new Scanner(System.in);
        n = sc.nextInt();
        
        PriorityQueue<Integer> q = new PriorityQueue<Integer>(Collections.reverseOrder());
        
        for(int i=0; i<n; i++) {
            for(int j=0; j<n; j++) {
                q.offer(sc.nextInt());
            }
        }
        
        for(int i=0; i<n-1; i++) {
            q.poll();
        }
        
        System.out.println(q.poll());
    }
 
}
 
cs
반응형
Comments