λ¬Έμ
λ°±μ€ 1927 μ΅μ ν https://www.acmicpc.net/problem/1927
λ°±μ€ 11279 μ΅λ ν https://www.acmicpc.net/problem/11279
μ΅μ ν μ²μ μ½λ (μκ°μ΄κ³Ό)
λ°°μ΄μμ min()μ μ΄μ©νμ¬ μ΅μκ°μ μ°Ύμλ€.
n = int(input())
x = []
for _ in range(n):
num = int(input())
if num == 0:
if x:
print(min(x))
x.remove(min(x))
else:
print(0)
else:
x.append(num)
μ΅μ ν μ½λ
import sys
import heapq
n = int(input())
heap = []
for _ in range(n):
num = int(sys.stdin.readline())
if num != 0:
heapq.heappush(heap, num)
else:
try:
print(heapq.heappop(heap))
except:
print(0)
μ΅μ ν νμ΄
n = int(input())
heap = []
μ
λ ₯λ°μ μ«μμ κ°μμΈ nμ μ
λ ₯λ°κ³
ν μλ£κ΅¬μ‘°κ° λ λ°°μ΄μ νλ λ§λ λ€.
for _ in range(n):
num = int(sys.stdin.readline())
nλ²λ§νΌ num μ«μλ₯Ό μ
λ ₯ λ°λλ€.
numμ μ΅λ 10λ§λ² κΉμ§ μ
λ ₯λ μ μκΈ° λλ¬Έμ input()λ³΄λ€ λΉ λ₯Έ sys.stdin.readline()μΌλ‘ μ
λ ₯λ°λλ€.
if num != 0:
heapq.heappush(heap, num)
else:
try:
print(heapq.heappop(heap))
except:
print(0)
λ§μ½ numμ΄ μμ°μλΌλ©΄
νμ μμ°μ numμ μΆκ°νλ€.
numμ΄ 0 μ΄λΌλ©΄
νμμ μ μΌ μμ μ«μλ₯Ό κΊΌλ΄μ μΆλ ₯νκ³ κ·Έ μ«μλ₯Ό νμμ μμ νλ€.
νμ μ«μκ° μκ³ λΉμ΄μλ μνλΌλ©΄ 0μ μΆλ ₯νλ€.
μ
λ ₯ 쑰건μ μμλ μ
λ ₯λμ§ μλλ€ νμμΌλ μμμΌ κ²½μ°λ₯Ό κ³ λ €ν μ½λλ μ μ§ μμλ€.
μ΅λ ν μ½λ
import sys
import heapq
n = int(input())
heap = []
for _ in range(n):
num = int(sys.stdin.readline())
if num != 0:
heapq.heappush(heap, -num)
else:
try:
print(-heapq.heappop(heap))
except:
print(0)
μ΅λ ν νμ΄
heapq λͺ¨λμμλ μ΅λ νμ μ 곡νμ§ μκΈ° λλ¬Έμ λΆνΈλ₯Ό λ³κ²½νμ¬ μ΅λνμ μ§μ ꡬνν΄μΌνλ€.
if num != 0:
heapq.heappush(heap, -num)
else:
try:
print(-heapq.heappop(heap))
except:
print(0)
λΆνΈλ₯Ό λ°κΏμ μ΅μ νμ λ£μ΄μ£Όκ³
κΊΌλΌλλ λΆνΈλ₯Ό λ°κΏμ κΊΌλ΄λ©΄
μ΅λ νκ³Ό λμΌν κΈ°λ₯μ νλ€.
μλ‘κ² λ°°μ΄μ / λλμ
- νν λͺ¨λμμ μ΅λνμ μ 곡νμ§ μλλ€λ μ μ μκ² λμλ€.
- κ·Έλμ μ΅λνμ μ§μ ꡬνν΄μΌ νλλ° λΆνΈλ§ λ°κΎΈλ©΄ κ°λ¨νκ² μ΅λνλ ꡬν ν μ μλ€λκ±Έ μκ² λμλ€.
- νμ μ¬λ¬ κ° μ€μμ μ΅λκ° λλ μ΅μκ°μ λΉ λ₯΄κ² μ°Ύμ μ μλ€λκ±Έ μκ² λμλ€.
- λ°°μ΄μ μ΅λ / μ΅μκ°μ μ°Ύμλ μκ° λ³΅μ‘λκ° O(N) μ΄μ§λ§
- νμ μ΅λ / μ΅μκ°μ μ°Ύμλ μκ° λ³΅μ‘λκ° O(logN) μ΄λ€.
'π‘ μ½λ©ν μ€νΈ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[νλ‘κ·Έλλ¨Έμ€] μμμ°ΎκΈ° (0) | 2024.08.06 |
---|---|
[λ°±μ€] 1135. λ΄μ€ μ νκΈ° (0) | 2024.08.03 |
[λ°±μ€] 14888. μ°μ°μ λΌμλ£κΈ° (2) | 2024.07.14 |
[λ°±μ€] 1012. μ κΈ°λ μλ°°μΆ (2) | 2024.07.14 |
[λ¦Ώμ½λ] Reduce Array Size To The Half (0) | 2024.06.27 |
λ¬Έμ
λ°±μ€ 1927 μ΅μ ν https://www.acmicpc.net/problem/1927
λ°±μ€ 11279 μ΅λ ν https://www.acmicpc.net/problem/11279
μ΅μ ν μ²μ μ½λ (μκ°μ΄κ³Ό)
λ°°μ΄μμ min()μ μ΄μ©νμ¬ μ΅μκ°μ μ°Ύμλ€.
n = int(input())
x = []
for _ in range(n):
num = int(input())
if num == 0:
if x:
print(min(x))
x.remove(min(x))
else:
print(0)
else:
x.append(num)
μ΅μ ν μ½λ
import sys
import heapq
n = int(input())
heap = []
for _ in range(n):
num = int(sys.stdin.readline())
if num != 0:
heapq.heappush(heap, num)
else:
try:
print(heapq.heappop(heap))
except:
print(0)
μ΅μ ν νμ΄
n = int(input())
heap = []
μ
λ ₯λ°μ μ«μμ κ°μμΈ nμ μ
λ ₯λ°κ³
ν μλ£κ΅¬μ‘°κ° λ λ°°μ΄μ νλ λ§λ λ€.
for _ in range(n):
num = int(sys.stdin.readline())
nλ²λ§νΌ num μ«μλ₯Ό μ
λ ₯ λ°λλ€.
numμ μ΅λ 10λ§λ² κΉμ§ μ
λ ₯λ μ μκΈ° λλ¬Έμ input()λ³΄λ€ λΉ λ₯Έ sys.stdin.readline()μΌλ‘ μ
λ ₯λ°λλ€.
if num != 0:
heapq.heappush(heap, num)
else:
try:
print(heapq.heappop(heap))
except:
print(0)
λ§μ½ numμ΄ μμ°μλΌλ©΄
νμ μμ°μ numμ μΆκ°νλ€.
numμ΄ 0 μ΄λΌλ©΄
νμμ μ μΌ μμ μ«μλ₯Ό κΊΌλ΄μ μΆλ ₯νκ³ κ·Έ μ«μλ₯Ό νμμ μμ νλ€.
νμ μ«μκ° μκ³ λΉμ΄μλ μνλΌλ©΄ 0μ μΆλ ₯νλ€.
μ
λ ₯ 쑰건μ μμλ μ
λ ₯λμ§ μλλ€ νμμΌλ μμμΌ κ²½μ°λ₯Ό κ³ λ €ν μ½λλ μ μ§ μμλ€.
μ΅λ ν μ½λ
import sys
import heapq
n = int(input())
heap = []
for _ in range(n):
num = int(sys.stdin.readline())
if num != 0:
heapq.heappush(heap, -num)
else:
try:
print(-heapq.heappop(heap))
except:
print(0)
μ΅λ ν νμ΄
heapq λͺ¨λμμλ μ΅λ νμ μ 곡νμ§ μκΈ° λλ¬Έμ λΆνΈλ₯Ό λ³κ²½νμ¬ μ΅λνμ μ§μ ꡬνν΄μΌνλ€.
if num != 0:
heapq.heappush(heap, -num)
else:
try:
print(-heapq.heappop(heap))
except:
print(0)
λΆνΈλ₯Ό λ°κΏμ μ΅μ νμ λ£μ΄μ£Όκ³
κΊΌλΌλλ λΆνΈλ₯Ό λ°κΏμ κΊΌλ΄λ©΄
μ΅λ νκ³Ό λμΌν κΈ°λ₯μ νλ€.
μλ‘κ² λ°°μ΄μ / λλμ
- νν λͺ¨λμμ μ΅λνμ μ 곡νμ§ μλλ€λ μ μ μκ² λμλ€.
- κ·Έλμ μ΅λνμ μ§μ ꡬνν΄μΌ νλλ° λΆνΈλ§ λ°κΎΈλ©΄ κ°λ¨νκ² μ΅λνλ ꡬν ν μ μλ€λκ±Έ μκ² λμλ€.
- νμ μ¬λ¬ κ° μ€μμ μ΅λκ° λλ μ΅μκ°μ λΉ λ₯΄κ² μ°Ύμ μ μλ€λκ±Έ μκ² λμλ€.
- λ°°μ΄μ μ΅λ / μ΅μκ°μ μ°Ύμλ μκ° λ³΅μ‘λκ° O(N) μ΄μ§λ§
- νμ μ΅λ / μ΅μκ°μ μ°Ύμλ μκ° λ³΅μ‘λκ° O(logN) μ΄λ€.
'π‘ μ½λ©ν μ€νΈ' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[νλ‘κ·Έλλ¨Έμ€] μμμ°ΎκΈ° (0) | 2024.08.06 |
---|---|
[λ°±μ€] 1135. λ΄μ€ μ νκΈ° (0) | 2024.08.03 |
[λ°±μ€] 14888. μ°μ°μ λΌμλ£κΈ° (2) | 2024.07.14 |
[λ°±μ€] 1012. μ κΈ°λ μλ°°μΆ (2) | 2024.07.14 |
[λ¦Ώμ½λ] Reduce Array Size To The Half (0) | 2024.06.27 |