BAEKJOON #1927) 최소 힙 (Python)

    반응형

     

    문제 이름처럼 힙을 구현만 하는 되는 문제라서, 힙을 구현해야겠다고 생각했는데, 파이썬에는 이미 힙을 만들 수 있는 라이브러리가 있었다. 역시 파이썬..,.👍

    heapq라는 라이브러리를 import하여 문제가 요구하는대로 사용해주면 끝이다.

     

    📌 힙(heap)이란?

     

    Data Structure - Heap (힙) | Python 구현

    Heap은 이진트리의 변형된 자료구조라고 할 수 있는데, 최댓값 최솟값을 빠르게 찾아야 할 때 많이 사용된다. 📌Heap : 데이터에서 최대값과 최소값을 빠르게 찾기 위해 고안된 완전 이진 트리 (Com

    eunbin00.tistory.com

     

    📌  정답 코드(Python)

    import heapq
    from sys import stdin
    
    n = int(stdin.readline())
    heap = list()
    for _ in range(n):
        val = int(stdin.readline())
        if val == 0:
            if heap:
                print(heapq.heappop(heap))
            else:
                print(0)
        else:
            heapq.heappush(heap, val)

    파이썬 heapq에서는 기본적으로 최소힙을 제공하기 때문에 heapq.heappush(heap, value)함수와 heapqpop(value)

     함수를 그대로 사용하였다.

    반응형

    댓글