문제

준함이는 STL에서 지원하는 큐 기능을 믿지 않는다. 그러나 원하는 프로그램을 짜기 위해 큐 기능이 어떻게든 필요했던 준함이는 당신에게 큐 기능을 구현해 줄 것을 요청했다. 준함이가 원하는 큐 기능은 다음 명령들을 처리하는 것이다.

push X: 정수 X를 큐에 넣는다.
pop: 큐에서 가장 앞에 있는 수를 빼고, 그 수를 출력한다. 만약, 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다.
size: 큐에 들어있는 정수의 개수를 출력한다.
empty: 큐가 비어있으면 1을, 아니면 0을 출력한다.
front: 큐의 가장 앞에 있는 정수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다.
back: 큐의 가장 뒤에 있는 정수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다.

준함이를 위해 큐 기능을 구현해주자

입력

첫째 줄에 명령의 수 n이 주어진다. (1<=n<=10000) 다음 n개의 줄에 명령의 형식에 맞게 명령들이 주어진다. (0<=X<=100000)

출력

명령들을 수행한 결과들을 한 줄에 하나씩 출력한다. 최소한 하나는 출력함을 보장한다.

예제 1 입력

13
push 8
push 3
push 7
size
empty
front
pop
back
pop
pop
pop
empty
size

예제 1 출력

3
0
8
8
7
3
7
-1
1
0

예제 2 입력

6
push 3
pop
empty
pop
push 2
empty

예제 2 출력

3
1
-1
0

Source

from collections import deque

q = deque()
n = int(input())

for i in range(n):
	cmd = input().split()

	if(cmd[0] == 'push'):
		q.append(cmd[1])
	elif(cmd[0] == 'pop'):
		if(len(q) == 0):
			print(-1)
		else:
			print(q.popleft())
	elif(cmd[0] == 'size'):
		print(len(q))
	elif(cmd[0] == 'empty'):
		if(len(q) == 0):
			print(1)
		else:
			print(0)
	elif(cmd[0] == 'front'):
		if(len(q) == 0):
			print('-1')
		else:
			print(q[0])
	elif(cmd[0] == 'back'):
		if(len(q) == 0):
			print('-1')
		else:
			print(q[-1])