본문 바로가기

알고리즘

[백준] 1927번: 최소 힙

 

https://www.acmicpc.net/problem/1927

 

1927번: 최소 힙

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

www.acmicpc.net

 

 

from heapq import heappush,heappop
import sys

n = int(input())

q = []
# put, get
for i in range(0, n):
    x = int(sys.stdin.readline())
    if x == 0:
        # pop
        if(len(q) == 0):
            print(0)
        else:
            print(heappop(q))
    else :
        # push
        heappush(q, x)

 

삼성 입사 후 C언어로 프로 시험을 준비하면서 우선순위 큐와 해시 체이닝을 마스터 하였습니다..

근데 이걸 파이썬으로 구현하니 세상에 이렇게 쉽게 구현이 된다니..

진작 공부 좀 많이 할 껄..

내일 퇴근하고는 우선순위 큐 관련(최소힙,응용하여 최대힙)을 설명하는 글을 작성해보겠습니다.