백준|1927번|최소 힙

README·2022년 7월 31일
0

파이썬 PS풀이

목록 보기
43/136

문제설명
정수들을 입력받아서 0을 입력받은 경우 배열의 최소값을 pop하고 출력하고 0이외의 숫자가 들어오면 배열에 추가하는 문제입니다.

작동 순서
1. 몇번 반복할지를 입력받습니다.
2. x를 입력받습니다.
3. x가 0인경우 힙에서 가장 작은 원소를 pop하고 출력합니다.
4. x가 0이 아닌 경우 힙에 x를 삽입합니다.

소스코드

import sys
import heapq
heap = []
n = int(sys.stdin.readline())
for i in range(n):
    x = int(sys.stdin.readline())
    if x == 0:
        print(heapq.heappop(heap) if len(heap) > 0 else 0)
    else:
        heapq.heappush(heap, x)
profile
INTP 개발자 지망생

0개의 댓글