문제 풀이/백준
[백준] 1927번. 최소 힙 (JAVA)
27200
2024. 2. 6. 21:44
https://www.acmicpc.net/problem/1927
문제
풀이
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));
int n = Integer.parseInt(br.readLine());
PriorityQueue<Integer> sortedNumbers = new PriorityQueue<>();
for(int i = 0; i < n; i++){
int x = Integer.parseInt(br.readLine());
if(x == 0){
if(sortedNumbers.isEmpty()){
System.out.println(0);
}else{
System.out.println(sortedNumbers.poll());
}
}else{
sortedNumbers.offer(x);
}
}
}
}
숫자의 입력과 정렬을 동시에 진행하며 들어온 숫자가 0일 경우에만 큐의 상태를 확인하고 0을 출력해주거나 최소값을 출력해주면 된다.