제출 코드
import java.util.*;
import java.io.*;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
BufferedWriter bw = new BufferedWriter(new OutputStreamWriter(System.out));
int N = Integer.parseInt(br.readLine()) ;
PriorityQueue<Integer> maxHeap = new PriorityQueue<>();
StringBuilder sb = new StringBuilder();
while(N-- > 0) {
int value = Integer.parseInt(br.readLine()) ;
if(value == 0) {
sb.append(maxHeap.isEmpty() ? "0" : maxHeap.poll()).append("\n");
} else {
maxHeap.offer(value);
}
}
br.close();
bw.write(sb.toString());
bw.flush();
bw.close();
}
}
문제 의도
- 우선큐의 기본 동작 이해
'알고리즘' 카테고리의 다른 글
기본 정렬 알고리즘 구현: 버블 정렬 (Java) (1) | 2025.02.21 |
---|---|
프로그래머스 42626번 | 기능개발 문제 풀이 (Java) (0) | 2025.02.20 |
백준 11279번 | 최대 힙 문제 풀이 (Java) (0) | 2025.02.19 |
프로그래머스 42586번 | 기능개발 문제 풀이 (Java) (0) | 2025.02.18 |
프로그래머스 42587번 | 프로세스 문제 풀이 (Java) (0) | 2025.02.17 |