문제 출처 : www.acmicpc.net/problem/11279
11279번: 최대 힙
첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가
www.acmicpc.net
문제 해석 : 최대 힙을 구현하는 문제이다.
문제 풀이 : 파이썬에서 제공하는 heapq를 이용하면서 입력을 -1을 곱해서 출력 또한 -1을 곱해서 하면 최소힙을 이용해서 최대힙과 동일한 기능을 수행할 수 있다.
가능한 다른 풀이 : 직접 최대힙을 구현하여 풀이 할 수 있다.
풀이 코드
import heapq
import sys
input = sys.stdin.readline
N = int(input())
Q = []
for _ in range(N):
x = int(input())
if x == 0:
if Q:
print(-heapq.heappop(Q))
else:
print(0)
else:
heapq.heappush(Q, -x)
author : donghak park
contact : donghark03@naver.com
## 문제의 저작권은 백준 알고리즘 사이트에 있습니다. 혹시 문제가 되는 부분이 있으면 연락 바랍니다.
'📊알고리즘, 문제풀이 > 📈문제풀이 (PS)' 카테고리의 다른 글
[알고리즘][Python] 백준 9205 맥주 마시면서 걸어가기 문제 풀이 (0) | 2021.01.14 |
---|---|
[알고리즘][Python] 백준 9019 DSLR 문제 풀이 (0) | 2021.01.14 |
[알고리즘][Python] 백준 7662 이중 우선 순위 큐 문제 풀이 (0) | 2021.01.13 |
[알고리즘][Python] 백준 9095 1, 2, 3 더하기 문제 풀이 (0) | 2021.01.13 |
[알고리즘][Python] 백준 7569 토마토(3차원) 문제 풀이 (0) | 2021.01.13 |