μ€ν
π λ¬Έμ
λ¬Έμ
μ μλ₯Ό μ μ₯νλ μ€νμ ꡬνν λ€μ, μ λ ₯μΌλ‘ μ£Όμ΄μ§λ λͺ λ Ήμ μ²λ¦¬νλ νλ‘κ·Έλ¨μ μμ±νμμ€.
λͺ λ Ήμ μ΄ λ€μ― κ°μ§μ΄λ€.
- push X: μ μ Xλ₯Ό μ€νμ λ£λ μ°μ°μ΄λ€.
- pop: μ€νμμ κ°μ₯ μμ μλ μ μλ₯Ό λΉΌκ³ , κ·Έ μλ₯Ό μΆλ ₯νλ€. λ§μ½ μ€νμ λ€μ΄μλ μ μκ° μλ κ²½μ°μλ -1μ μΆλ ₯νλ€.
- size: μ€νμ λ€μ΄μλ μ μμ κ°μλ₯Ό μΆλ ₯νλ€.
- empty: μ€νμ΄ λΉμ΄μμΌλ©΄ 1, μλλ©΄ 0μ μΆλ ₯νλ€.
- top: μ€νμ κ°μ₯ μμ μλ μ μλ₯Ό μΆλ ₯νλ€. λ§μ½ μ€νμ λ€μ΄μλ μ μκ° μλ κ²½μ°μλ -1μ μΆλ ₯νλ€.
μ λ ₯
첫째 μ€μ μ£Όμ΄μ§λ λͺ λ Ήμ μ N (1 ≤ N ≤ 10,000)μ΄ μ£Όμ΄μ§λ€.
λμ§Έ μ€λΆν° Nκ°μ μ€μλ λͺ λ Ήμ΄ νλμ© μ£Όμ΄μ§λ€.
μ£Όμ΄μ§λ μ μλ 1λ³΄λ€ ν¬κ±°λ κ°κ³ , 100,000λ³΄λ€ μκ±°λ κ°λ€.
λ¬Έμ μ λμμμ§ μμ λͺ λ Ήμ΄ μ£Όμ΄μ§λ κ²½μ°λ μλ€.μΆλ ₯
μΆλ ₯ν΄μΌνλ λͺ λ Ήμ΄ μ£Όμ΄μ§ λλ§λ€, ν μ€μ νλμ© μΆλ ₯νλ€.
π§ νμ΄
λ보기
νμ΄
'''
input()μ μ¬μ©νλ©΄ μκ° μ΄κ³Όκ° λλ€.
λ°λΌμ sysλ₯Ό λΆλ¬μ, stdin.readline()μ νμ©νλ€.
'''
import sys
n = int(sys.stdin.readline()) # μ μ n μ
λ ₯ λ° ν λΉ
stack = [] # λΉ μ€ν ν λΉ
for _ in range(n): # nλ² λ°λ³΅
w = list(sys.stdin.readline().split()) # wλ‘ λͺ
λ Ή λΆλ¬μ€κΈ°
command = w[0] # λͺ
λ Ήμ΄ ν λΉ
if len(w) == 2: # λͺ
λ Ήμ΄ λ€μ μ μκ° μμ κ²½μ°
num = int(w[1]) # μ μλ numμ ν λΉ
if command == 'push': # λͺ
λ Ήμ΄κ° pushμΌ κ²½μ°,
stack.append(num) # stackμ ν΄λΉ num μΆκ°
elif command == 'pop': # λͺ
λ Ήμ΄κ° popμΌ κ²½μ°,
if len(stack) != 0:
print(stack.pop()) # stackμ 맨 λ€μ μ μ pop() νκ³ μΆλ ₯
else:
print(-1)
elif command == 'size': # λͺ
λ Ήμ΄κ° sizeμΌ κ²½μ°,
print(len(stack)) # stackμ κΈΈμ΄ μΆλ ₯
elif command == 'empty': # λͺ
λ Ήμ΄κ° emptyμΌ κ²½μ°,
if len(stack) == 0:
print(1) # μ€νμ΄ λΉμ΄ μλ€λ©΄ 1, μλλ©΄ 0 μΆλ ₯
else:
print(0)
elif command == 'top': # λͺ
λ Ήμ΄κ° topμΌ κ²½μ°,
if len(stack) != 0:
print(stack[-1]) # μ€νμμ κ°μ₯ λμ΄ μλ μ μ μΆλ ₯
else:
print(-1)
'π§© Algorithm > π¨ Python' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
| [νμ΄μ¬] λ°±μ€ 2178λ² λ¬Έμ : λ―Έλ‘ νμ (0) | 2022.08.26 |
|---|---|
| [νμ΄μ¬] λ°±μ€ 10773λ² λ¬Έμ : μ λ‘ (0) | 2022.08.09 |
| [νμ΄μ¬ μκ³ λ¦¬μ¦] λμ μλ₯΄κΈ°(κ²°μ μκ³ λ¦¬μ¦) (0) | 2022.08.01 |
| [νμ΄μ¬ μκ³ λ¦¬μ¦] μ΄λΆ κ²μ (0) | 2022.08.01 |
| [νμ΄μ¬ μκ³ λ¦¬μ¦] 격μν νλ¬Έμ (0) | 2022.07.26 |