[백준] 11279번

코린이·2022년 5월 30일
0

백준

목록 보기
32/38

📢 "11279번 최대 힙" 문제


백준 문제 링크

🔎 풀이

사용 언어 : python
heapq 모듈 사용
list로 문제 풀면 시간초과 나온다.

heapq 메서드

heapq모듈은 내장모듈로 별도의 설치 없이 import heapq 로 사용가능
heapq.heappush(heap, item) : 힙에 item 추가
heapq.heappop(heap) : 힙에서 가장 작은 원소 삭제후 그 값 리턴
heap[0] : 최소값 삭제하지 않고 최소값 얻기
heapq.heapify(list) : 기존 리스트를 힙으로 변환

🔎 코드

파이썬에서는 최대힙을 제공안해요!
부호를 변경하는 방식을 사용

import heapq
import sys
n = int(sys.stdin.readline())

num = []

for _ in range(n):
    x = int(sys.stdin.readline())
    if x > 0:
        heapq.heappush(num, -x)
    else:
        if num:
            print(-heapq.heappop(num))
        else:
            print(0)
profile
초보 개발자

0개의 댓글