하루에 한 문제
[BOJ-2075] N번째 큰 수 -Java 본문
https://www.acmicpc.net/problem/2075
package BOJ_투포인터;
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 boj_2075_N번째큰수 {
public static void main(String[] args) throws IOException {
BufferedReader br= new BufferedReader(new InputStreamReader(System.in));
PriorityQueue<Long> pq = new PriorityQueue<Long>(Collections.reverseOrder());
int N=Integer.parseInt(br.readLine());
for(int i=0; i<N; i++) {
StringTokenizer st = new StringTokenizer(br.readLine());
for(int j=0; j<N; j++) {
pq.add(Long.parseLong(st.nextToken()));
}
}
for(int i=0; i<N-1; i++) {
pq.poll();
}
System.out.println(pq.poll());
}
}
소요시간 : 12분
우선순위 큐(최대 힙)를 이용해 풀이하였습니다!
입력으로 들어오는 수를 모두 우선순위 큐에 넣은 후
N-1번 만큼 poll()를 해서 최댓값을 빼줍니다.
그 후 poll()을 한 번 해주면 답이 나옵니다!
'알고리즘 > 백준' 카테고리의 다른 글
[BOJ-1202][그리디] 보석 도둑 -Java (0) | 2021.04.21 |
---|---|
[BOJ-1654][이분탐색] 랜선자르기 -Java (0) | 2021.04.20 |
[BOJ-2003][투 포인터] 수들의 합2 -Java (0) | 2021.04.19 |
[BOJ-1715][우선순위 큐] 카드 정렬하기 -Java (0) | 2021.04.18 |
[BOJ-13549][다익스트라] 숨바꼭질 3 (0) | 2021.04.14 |
Comments