백준 1927 최소 힙(with Python)

daeungdaeung·2021년 7월 2일
0

내가 생각한 Solution

문제에서 생각해볼 점

  • 최소힙을 활용하는 문제인데, 최소힙 & 최대힙에 대한 개념은 알고 있지만 직접 구현하기에는 너무 까다롭다고 느껴졌습니다.

  • 따라서 Pythonic하게 heapq(내장함수)를 활용 했습니다.

  • 알고리즘 상에서 딱히 크게 문제될 부분은 없었습니다.

  • 그나마 주의할 점이라고는 힙이 비어있을 때 0이라는 값을 입력받았다면 0을 출력해야하는 것입니다.

코드 구현

import sys
import heapq

N = int(input())
q = []
output = ''
for i in range(N):
    x = int(sys.stdin.readline().strip())
    if x == 0:
        if len(q):
            var = heapq.heappop(q)
            output += f'{var}\n'
        else:
           output += '0\n'
    else:
        heapq.heappush(q, x)
print(output)
profile
개발자가 되고싶읍니다...

0개의 댓글