문제
https://www.acmicpc.net/problem/1927
풀이
PriorityQueue로 풀면 된다.
PriorityQueue는 정수형의 경우 기본정렬이 오름차순이므로 따로 Comparator를 만들어줄 필요는 없다.
소스코드
package heap;
import java.io.BufferedReader;
import java.io.BufferedWriter;
import java.io.InputStreamReader;
import java.io.OutputStreamWriter;
import java.util.PriorityQueue;
public class BOJ1927 {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
PriorityQueue<Integer> pque = new PriorityQueue<Integer>();
int N = Integer.parseInt(br.readLine());
for(int i = 0; i < N; i++){
int num = Integer.parseInt(br.readLine());
if(num == 0){
if(pque.isEmpty()){
bw.write(0 + "\n");
} else {
bw.write(pque.poll() + "\n");
}
} else {
pque.offer(num);
}
}
bw.flush();
}
}
'💡Problem Solving > BOJ' 카테고리의 다른 글
[BOJ 1655] 가운데를 말해요 (Java) (0) | 2021.11.12 |
---|---|
[BOJ 11286] 절댓값 힙 (Java) (0) | 2021.11.12 |
[BOJ 9375] 패션왕 신해빈 (Java) (0) | 2021.11.11 |
[BOJ 3036] 링 (Java) (0) | 2021.11.11 |
[BOJ 1037] 약수 (Java) (0) | 2021.11.11 |