[Python] 백준 알고리즘 1927번 - 최소 힙
2022. 3. 3. 23:55ㆍ알고리즘/문제풀이
[Python] 백준 알고리즘 2407번 - 조합
문제 출처 : https://www.acmicpc.net/problem/1927
접근 방식
파이썬에서 구현이 되어있는 heap 자료구조를 사용하여 문제 코드를 작성하였다.
이번 문제의 경우 구현되어 있는 힙에 숫자를 넣고 빼며 진행이 되는 코드들이다.
0이 들어오면 문제에서 힙에 들어가 있는 가장 작은 수를 출력하면서 빼내는 문제이다.
따라서 0이 들어갔을 때 0만 존재한다면 0이 나오는 경우가 존재한다.
주어진 예제를 통해 그러한 부분을 알 수 있다.
구현 코드
import heapq
import sys
heap = []
n = int(input())
for _ in range(n):
x = int(sys.stdin.readline())
if x == 0:
try:
print(heapq.heappop(heap))
except:
print(0)
else:
heapq.heappush(heap, x)
보충할 점
- import sys
- sys.stdin.readline() 과 input()의 시간 차이
- heap 자료구조의 개념 정리
- try catch , except 문의 개념 및 활용 정리
'알고리즘 > 문제풀이' 카테고리의 다른 글
[Python] 백준 알고리즘 10866번 - 덱 (0) | 2022.03.21 |
---|---|
[Python] 백준 알고리즘 7576번 - 토마토 (0) | 2022.03.07 |
[Python] 백준 알고리즘 1926번 - 그림 (0) | 2022.03.06 |
[Python] 백준 알고리즘 11404번 - 플로이드 (0) | 2022.03.04 |
[Python] 백준 알고리즘 2407번 - 조합 (0) | 2022.03.02 |