먼저 위 문제를 이해해보자.
# 18258
import sys
from collections import deque
n = int(sys.stdin.readline().rstrip())
lst = deque()
def use_queue(q):
if q[0] == "push":
lst.append(q[1])
elif q[0] == "pop":
if len(lst) == 0:
print(-1)
else:
print(lst.popleft())
elif q[0] == "size":
print(len(lst))
elif q[0] == "empty":
if len(lst) == 0:
print(1)
else:
print(0)
elif q[0] == "front":
if len(lst) == 0:
print(-1)
else:
print(lst[0])
elif q[0] == "back":
if len(lst) == 0:
print(-1)
else:
print(lst[len(lst) - 1])
for i in range(n):
q = sys.stdin.readline().split()
use_queue(q)
처음에는 pop(0)을 했더니 시간초과가 발생했다. 이후 deque를 import하여 popleft()를 사용해서 해결했다.