[백준/파이썬] 11279번: 최대 힙

수박강아지·2025년 1월 18일

BAEKJOON

목록 보기
23/174

문제

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

풀이

전에 풀었던 1927번: 최소 힙 문제와 같은 문제입니다.
heapq를 이용해서 문제를 해결하면 됩니다.

그러나 heapq에서는 최대 힙 기능을 제공하지 않습니다.
부호를 변경하는 방식을 사용하면 최대 힙 기능을 구현할 수 있습니다.

코드

import sys, heapq
input = sys.stdin.readline

heap = []
for _ in range(int(input())):
    x = int(input())
    if x != 0:
        heapq.heappush(heap, -x) # 음수로 push
    else:
        try:
            print(-heapq.heappop(heap)) # 부호를 변경하여 출력
        except:
            print(0)

0개의 댓글