[BOJ] 11279번: 최대 힙 (python)

한서영·2023년 2월 17일
0

BOJ

목록 보기
6/15

문제 링크 : https://www.acmicpc.net/problem/11399

💡 해결 방법

  • 0이 입력될 때마다 큰 값을 제거해야 하므로 우선순위 큐 사용
  • 정렬 조건을 입력값을 음수화하여서 큰 수가 먼저 제거되도록 함

🖥️ 코드

import sys
from queue import PriorityQueue

N = int(sys.stdin.readline())
queue = PriorityQueue()
for i in range(N):
    input = int(sys.stdin.readline())
    if input == 0:
        if queue.empty():
            print(0)
        else:
            print(queue.get()[1])
    else:
        queue.put((input*(-1), input))

✏️ 알고리즘 분류

  • 자료구조
  • 우선순위 큐

0개의 댓글