[BOJ] 백준 11279 최대 힙

태환·2024년 2월 4일
0

Coding Test

목록 보기
48/151

📌 [BOJ] 백준 11279 최대 힙

📖 문제

📖 예제

📖 풀이

import sys
import heapq

N = int(input())
heap = []
for _ in range(N):
  n = int(sys.stdin.readline())
  if n == 0:
    if heap:
      print(heapq.heappop(heap)[1])
    else:
      print(0)
  else:
    heapq.heappush(heap, (-n, n))

heapq 라이브러리는 기본적으로 최소 힙을 지원하기 때문에 최대 힙의 특성을 활용하기 위해서는 값을 넣을 때 해당 값의 마이너스 값으로 우선 순위 값을 추가로 넣어줘 최대 힙의 성질을 띄도록 구현한다.
출력 시에는 우선 순위 값을 제거한 두번 째 값만을 출력한다.

profile
연세대학교 컴퓨터과학과 석사 과정

0개의 댓글