1. 문제 설명
2. 접근 방식
이건 뭐 Priority Queue 쓸 줄 아냐고 묻는 문제였다.
- PQ를 만든다. (default로 오름차순 정렬이니 건들일 것이 없다.)
- 문제에서 제공하는 Order에 따른다. (0이면 출력, 나머지면 저장)
3. 코드 분석
import java.io.*;
import java.util.*;
public class Main {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
PriorityQueue<Integer> pq = new PriorityQueue<>();
StringBuilder sb = new StringBuilder();
int N = Integer.parseInt(br.readLine());
for (int i = 0; i < N; i++) {
int now =Integer.parseInt(br.readLine());
switch (now){
case 0: {
if(pq.isEmpty()) sb.append(0).append("\n");
else sb.append(pq.poll()).append("\n");
break;
}
default:pq.add(now);
}
}
System.out.println(sb);
}
}
'알고리즘 > 문제 풀이' 카테고리의 다른 글
99 클럽 코테 스터티 15일차 TIL + 프로그래머스 소수 찾기 java (0) | 2024.08.06 |
---|---|
99클럽 코테 스터디 13일차 TIL + Programmers 입국 심사대 java (0) | 2024.08.03 |
[백준] 1522 문자열 교환 풀이 java (0) | 2024.07.29 |
99클럽 코테 스터디 8일차 TIL + Programmers 두 큐의 합 같게 만들기 (java) (0) | 2024.07.29 |
99클럽 코테 스터디 5일차 TIL + Programmers 베스트 앨범 (0) | 2024.07.27 |