https://www.acmicpc.net/problem/1463
1463번: 1로 만들기
첫째 줄에 1보다 크거나 같고, 106보다 작거나 같은 정수 N이 주어진다.
www.acmicpc.net
풀이
저번에 풀었던 문제와 다른 최대 힙입니다. heapq는 최소 힙이기에 부호를 역전시켜서 힙에 넣어준뒤에 꺼내 줄때는 다시 부호를 재역전시켜줍시다.
# 11279번 최대 힙
import sys, heapq
heap=[]
n = int(input())
for _ in range(n):
k = int(sys.stdin.readline())
if k == 0:
if heap:
print((-1)*heapq.heappop(heap))
else:
print(0)
else:
heapq.heappush(heap, -1*k)
출력결과
'백준 > 자료구조' 카테고리의 다른 글
[백준][Python] 2161번 카드 1 - 코팩 (0) | 2022.09.15 |
---|---|
[백준][Python] 11286번 절댓값 힙 - 코팩 (0) | 2022.09.09 |
[백준] 18258번 큐 2 - 파이썬 (0) | 2022.08.20 |