π‘ μ μλ₯Ό μ μ₯νλ νλ₯Ό ꡬνν λ€μ, μ λ ₯μΌλ‘ μ£Όμ΄μ§λ λͺ λ Ήμ μ²λ¦¬νλ νλ‘κ·Έλ¨μ μμ±νμμ€. λͺ λ Ήμ μ΄ μ¬μ― κ°μ§μ΄λ€.
- push X: μ μ Xλ₯Ό νμ λ£λ μ°μ°μ΄λ€.
- pop: νμμ κ°μ₯ μμ μλ μ μλ₯Ό λΉΌκ³ , κ·Έ μλ₯Ό μΆλ ₯νλ€. λ§μ½ νμ λ€μ΄μλ μ μκ° μλ κ²½μ°μλ -1μ μΆλ ₯νλ€.
- size: νμ λ€μ΄μλ μ μμ κ°μλ₯Ό μΆλ ₯νλ€.
- empty: νκ° λΉμ΄μμΌλ©΄ 1, μλλ©΄ 0μ μΆλ ₯νλ€.
- front: νμ κ°μ₯ μμ μλ μ μλ₯Ό μΆλ ₯νλ€. λ§μ½ νμ λ€μ΄μλ μ μκ° μλ κ²½μ°μλ -1μ μΆλ ₯νλ€.
- back: νμ κ°μ₯ λ€μ μλ μ μλ₯Ό μΆλ ₯νλ€. λ§μ½ νμ λ€μ΄μλ μ μκ° μλ κ²½μ°μλ -1μ μΆλ ₯νλ€.
μ λ ₯
첫째 μ€μ μ£Όμ΄μ§λ λͺ λ Ήμ μ N (1 β€ N β€ 2,000,000)μ΄ μ£Όμ΄μ§λ€. λμ§Έ μ€λΆν° Nκ°μ μ€μλ λͺ λ Ήμ΄ νλμ© μ£Όμ΄μ§λ€. μ£Όμ΄μ§λ μ μλ 1λ³΄λ€ ν¬κ±°λ κ°κ³ , 100,000λ³΄λ€ μκ±°λ κ°λ€. λ¬Έμ μ λμμμ§ μμ λͺ λ Ήμ΄ μ£Όμ΄μ§λ κ²½μ°λ μλ€.
μΆλ ₯
μΆλ ₯ν΄μΌνλ λͺ λ Ήμ΄ μ£Όμ΄μ§ λλ§λ€, ν μ€μ νλμ© μΆλ ₯νλ€.
μμ μ½λ
15
push 1
push 2
front
back
size
empty
pop
pop
pop
size
empty
pop
push 3
empty
front
μμ μΆλ ₯
1
2
2
0
1
2
-1
0
1
-1
0
3
from collections import deque
import sys
N=int(sys.stdin.readline())
queue=deque()
for i in range(N):
a=sys.stdin.readline().split()
if a[0]=="push":
queue.append(a[1])
if a[0]== "pop":
if queue!=deque():
print(queue.popleft())
else:
print(-1)
elif a[0]=="size":
print(len(queue))
elif a[0]=="empty":
print(int(queue==deque([])))
elif a[0]=="front":
if queue!=deque():
print(queue[0])
else:
print(-1)
elif a[0]=="back":
if queue!=deque():
print(queue[-1])
else:
print(-1)
λ©λͺ¨λ¦¬μ μκ°μ΄ μμ² μ€λ 걸리λλ° μ΄κ±Έ ν΄κ²°νλ €λ©΄ μ΄λ»κ² ν΄μΌν κΉ...? κΆκΈ...νλ€
λ©λͺ¨λ¦¬ 175100KB . μκ° 1960ms