코딩 테스트/백준

[Python] 백준 1927 최소 힙

위시리 2025. 2. 20. 11:04

 

문제 분석

  • 최소 힙 구현

 

코드 설계

  • n 만큼의 수를 받으면서
  • n == 0 일 때
    • 배열에 값이 있다면 → 배열에서 가장 작은 값 출력 및 배열에서 값 제거
    • 배열에 값이 없다면 → 
  • n == '자연수' : 배열에 값 추가

 

정답 코드

import sys
input = sys.stdin.readline
import heapq as hq

n = int(input())
heap = []

for _ in range(n) :
    x = int(input())
    # x가 0이라면
    if x == 0 :
        # 배열이 비어있지 않으면 가장 작은 값 출력
        if heap :
            print(hq.heappop(heap))
        else :
            print(0)
    elif x > 0 and int(x) == x: # x가 자연수라면
        hq.heappush(heap, x)