헝D의 일기장
article thumbnail

https://www.acmicpc.net/problem/1927

 

1927번: 최소 힙

첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0

www.acmicpc.net

 

 

나의풀이

import java.io.*;
import java.util.*;
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> q=new PriorityQueue<>(); //최소힙
        for(int i=0;i<n;i++){
            int temp=Integer.parseInt(br.readLine());
            if(temp==0){
                if(q.size()==0){
                    bw.write("0");
                    bw.write("\n");
                }else{
                    bw.write(Integer.toString(q.peek()));
                    bw.write("\n");

                }
                q.remove(q.peek());
            }else{
                q.add(temp);
            }
        }
        bw.flush();
        
        br.close();
        bw.close();
      
    }
}
profile

헝D의 일기장

@헝D

포스팅이 좋았다면 "좋아요❤️" 또는 "구독👍🏻" 해주세요!