PromleeBlog
sitemap
aboutMe

posting thumbnail
[BOJ] #1927 최소 힙 (Python)
[BOJ] #1927 minimum heap (Python)

📅

🚀

알고리즘 분류 🔗

자료구조, 우선순위 큐

🚀

풀이 🔗

  1. Python의 내장 모듈인 heapq를 사용하여 문제를 해결할 수 있다. (구현으로도 해결 가능)
  2. input이 0이 아닐때: heapq.heappush(리스트, 데이터)로 push
  3. input이 0일때: 리스트가 0인지 확인하고 heapq.heappop(리스트) 로 pop후 출력

🚀

코드 - Python 🔗

import heapq
import sys
 
H = []
n = int(sys.stdin.readline())
for i in range(n):
    k = int(sys.stdin.readline())
    if k == 0:
        if len(H) == 0:
            print(0)
            continue
        else:
            print(heapq.heappop(H))
    else:
        heapq.heappush(H, k)
image

🚀

문제 발생 및 해결 🔗

  1. line 5, line 7 - 데이터를 input()으로 받는 과정에서 시간 초과 발생
    • python에서 input()보다는 sys 모듈을 활용하여 readline해주는 방법 사용할 것

🚀

핵심 🔗