SMALL
문제 출처
1927번: 최소 힙
첫째 줄에 연산의 개수 N(1 ≤ N ≤ 100,000)이 주어진다. 다음 N개의 줄에는 연산에 대한 정보를 나타내는 정수 x가 주어진다. 만약 x가 자연수라면 배열에 x라는 값을 넣는(추가하는) 연산이고, x가 0
www.acmicpc.net
풀이 코드
import heapq
import sys
N = int(input())
heap=[]
for i in range(N):
x = int(sys.stdin.readline())
if x!=0:
heapq.heappush(heap, x)
else:
if not heap:
print(0)
else:
print(heapq.heappop(heap))
for문에서 입력값을 받을 때 x=int(input()) 을 썼더니 시간초과가 났습니다.
x=int(sys.stdin.readline()) 을 쓰니까 해결 됐습니다.
heapq.heappush(heap, x) 말고
heap.append(x) 를 써도 되지 않을까 생각해서 시도해봤지만, append를 쓰면 틀립니다.
힙 개념 확인하기 ↓
https://data-analysis-expertise.tistory.com/101
[자료구조/파이썬(Python3)] 힙 (Heap)
힙(heap)은 최댓값 및 최솟값을 찾아내는 연산을 빠르게 하기 위해 고안된 완전이진트리(Complete binary tree)를 기본으로 한 자료구조(tree-based structure)로서 다음과 같은 힙 속성을 만족합니다. - A가 B
data-analysis-expertise.tistory.com
LIST
'알고리즘-python > 백준 문제' 카테고리의 다른 글
| [백준/2869/파이썬(Python3)] 달팽이는 올라가고 싶다 (0) | 2021.07.12 |
|---|---|
| [백준/1193/파이썬(Python3)] 분수 찾기 (0) | 2021.07.09 |
| [백준/2292/파이썬(Python3)] 벌집 (0) | 2021.07.07 |
| [백준/1712/파이썬(Python3)] 손익분기점 (0) | 2021.07.07 |
| [백준/1316/파이썬(Python3)] 그룹 단어 체커 (0) | 2021.07.06 |