99클럽 코테 스터디 10일차 TIL / [백준] 최대 힙

전종원·2024년 7월 31일
0
post-custom-banner

오늘의 학습 키워드


최대 힙

문제


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

  • 플랫폼: 백준
  • 문제명: 최대 힙
  • 난이도: 실버 2

풀이


import java.io.*;
import java.util.*;

public class Main {
    public static void main(String[] args) throws IOException {
        PriorityQueue<Integer> pQ = new PriorityQueue<>(Collections.reverseOrder());
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int n = Integer.parseInt(br.readLine());

        for (int i = 0; i < n; i++) {
            int input = Integer.parseInt(br.readLine());

            if (input == 0) {
                if (pQ.isEmpty()) {
                    System.out.println(0);
                } else {
                    System.out.println(pQ.poll());
                }
            } else {
                pQ.offer(input);
            }
        }
    }
}

접근

  • 9일차에 풀이했던 PriorityQueue를 활용한 코드와 동일합니다.
    • 단지, Collections.reverseOrder()를 통해 최댓값이 우선적으로 추출될 수 있도록 변경해 주었습니다.

소요 시간

10분

post-custom-banner

0개의 댓글