[λ°±μ€/python] 1927λ² : μ΅μ ν
λ¬Έμ
λ리 μ μλ €μ§ μλ£κ΅¬μ‘° μ€ μ΅μ νμ΄ μλ€. μ΅μ νμ μ΄μ©νμ¬ λ€μκ³Ό κ°μ μ°μ°μ μ§μνλ νλ‘κ·Έλ¨μ μμ±νμμ€.
- λ°°μ΄μ μμ°μ xλ₯Ό λ£λλ€.
- λ°°μ΄μμ κ°μ₯ μμ κ°μ μΆλ ₯νκ³ , κ·Έ κ°μ λ°°μ΄μμ μ κ±°νλ€.
νλ‘κ·Έλ¨μ μ²μμ λΉμ΄μλ λ°°μ΄μμ μμνκ² λλ€.
μ λ ₯
첫째 μ€μ μ°μ°μ κ°μ N(1 ≤ N ≤ 100,000)μ΄ μ£Όμ΄μ§λ€. λ€μ Nκ°μ μ€μλ μ°μ°μ λν μ 보λ₯Ό λνλ΄λ μ μ xκ° μ£Όμ΄μ§λ€. λ§μ½ xκ° μμ°μλΌλ©΄ λ°°μ΄μ xλΌλ κ°μ λ£λ(μΆκ°νλ) μ°μ°μ΄κ³ , xκ° 0μ΄λΌλ©΄ λ°°μ΄μμ κ°μ₯ μμ κ°μ μΆλ ₯νκ³ κ·Έ κ°μ λ°°μ΄μμ μ κ±°νλ κ²½μ°μ΄λ€. xλ 231λ³΄λ€ μμ μμ°μ λλ 0μ΄κ³ , μμ μ μλ μ λ ₯μΌλ‘ μ£Όμ΄μ§μ§ μλλ€.
μΆλ ₯
μ λ ₯μμ 0μ΄ μ£Όμ΄μ§ νμλ§νΌ λ΅μ μΆλ ₯νλ€. λ§μ½ λ°°μ΄μ΄ λΉμ΄ μλ κ²½μ°μΈλ° κ°μ₯ μμ κ°μ μΆλ ₯νλΌκ³ ν κ²½μ°μλ 0μ μΆλ ₯νλ©΄ λλ€.
μ λ΅
import heapq
import sys
input = sys.stdin.readline
heap =[]
N = int(input())
for _ in range(N):
x = int(input())
if x==0:
if heap:
print(heapq.heappop(heap))
else:
print(0)
else:
heapq.heappush(heap, x)
νμ΄μ¬μ heapqλ₯Ό μ΄μ©νλ©΄ κ°λ¨νκ² ν μ μλ λ¬Έμ μ΄λ€.
heapqμ λν μμΈν λ΄μ©μ μλμ ν¬μ€ν μ μ°Έκ³ νλ©΄ λλ€.
2021.09.06 - [πμκ³ λ¦¬μ¦/π κ°λ μ 리] - [νμ΄μ¬/python] ν (heap)
'πμκ³ λ¦¬μ¦ > λ°±μ€' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[λ°±μ€/python] 7490λ² : 0 λ§λ€κΈ° (0) | 2021.09.17 |
---|---|
[λ°±μ€/python] 1987λ² : μνλ²³ (0) | 2021.09.16 |
[λ°±μ€/python] 1753λ² : μ΅λ¨κ²½λ‘ (0) | 2021.09.01 |
[λ°±μ€/python] 12865λ² : νλ²ν λ°°λ (0) | 2021.08.30 |
[λ°±μ€/python] 9465λ² : μ€ν°μ»€ (0) | 2021.08.28 |