풀이방법
사용된 것:
우선순위 큐
2023.05.17
자바의 PriorityQueue<T> 클래스를 사용하면 되는 간단한 문제이다.
코드
Java(2023.05.17)
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Collections;
import java.util.PriorityQueue;
public class Main {
public static void main(String[] args) throws IOException{
// TODO Auto-generated method stub
// 입력값을 읽어오기 위한 BufferedReader
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
// 우선순위 큐(큰 수가 우선순위가 높음)
PriorityQueue<Integer> queue = new PriorityQueue<Integer>(Collections.reverseOrder());
// N의 값 읽어오기
int n = Integer.parseInt(br.readLine());
// 출력값을 쌓을 StringBuilder
StringBuilder sb = new StringBuilder();
// N번 반복하는 반복문으로 작업 수행
for(int i=0; i<n; i++) {
// 숫자 읽어오기
int num = Integer.parseInt(br.readLine());
// 숫자가 0인 경우
if(num==0) {
if(queue.isEmpty()) sb.append(0);
else sb.append(queue.poll());
sb.append(System.lineSeparator());
}
// 숫자가 0 이외의 숫자인 경우
else queue.add(num);
}
// 정답 출력
System.out.print(sb);
}
}
'알고리즘 문제풀이 > 백준' 카테고리의 다른 글
#18110 : solved.ac (0) | 2023.09.20 |
---|---|
#5358 : Football Team (0) | 2023.09.05 |
#14244 : 트리 만들기 (0) | 2023.05.15 |
#24416 : 알고리즘 수업 - 피보나치 수 1 (0) | 2023.04.05 |
#2563 : 색종이 (0) | 2023.03.19 |