baekjoon

[백준/BOJ] 1927번 최소 힙 (Python)

riley_dev 2021. 3. 12. 21:03

[백준/BOJ] 1927번 최소 힙

www.acmicpc.net/problem/1927

 

1927번: 최소 힙

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

www.acmicpc.net

파이썬의 heapq라이브러리를 사용하면 쉽게 풀 수 있는 문제였다.

 

Python code

더보기
import sys
import heapq

n=int(sys.stdin.readline())
min_heap=[]
for _ in range(n):
  comm=int(sys.stdin.readline())
  if comm==0:
    if min_heap:
      print(heapq.heappop(min_heap))
    else:
      print(0)
    continue
  heapq.heappush(min_heap, comm)