-
[백준] 11279번 문제 (최대 힙) 파이썬(Python) 풀이Problem Solving/Baekjoon 2021. 9. 14. 15:00
https://www.acmicpc.net/problem/11279
import heapq import sys input = sys.stdin.readline t = int(input()) heap = [] for _ in range(t): cmd = int(input()) if cmd == 0: try: print(heapq.heappop(heap)[1]) except: print(0) else: heapq.heappush(heap, (-cmd, cmd))
파이썬이 기본으로 제공하는 heapq 모듈을 사용하면 간단하게 풀 수 있다.
기본적으로 heapq는 최소 힙의 형태(작은 값이 우선순위가 높음)로 돼 있는데,
이를 역으로 이용하면 최대 힙으로 사용할 수 있다.
제일 큰 값의 우선순위를 높여주면 되기 때문에 들어오는 숫자 (여기서는 cmd)를 음수로 바꿔주기만 하면된다.
'Problem Solving > Baekjoon' 카테고리의 다른 글
[백준] 1012번 문제 (유기농 배추) 파이썬(Python) 풀이 (0) 2021.09.15 [백준] 1904번 문제 (01타일) 파이썬(Python) 풀이 (0) 2021.09.14 [백준] 1927번 문제 (최소 힙) 파이썬(Python) 풀이 (0) 2021.09.14 [백준] 7569번 문제 (토마토) 파이썬(Python) 풀이 (0) 2021.09.10 [백준] 12852번 문제 (1로 만들기 2) 파이썬(Python) 풀이 (0) 2021.09.09