문제📖
풀이🙏
- 파이썬 라이브러르 deque (덱)을 사용한다.
- append, appendleft, pop, popleft를 이용하여 덱의 앞뒤에 원소를 삽입하거나 삭제한다.
- 덱에 들어있는 정수의 개수를 파악하기 위해 len(q)를 이용한다.
코드💻
import sys
from collections import deque
input = sys.stdin.readline
q = deque()
for _ in range(int(input())):
command = input().split()
if command[0] == "push_back":
q.append(command[1])
elif command[0] == "push_front":
q.appendleft(command[1])
elif command[0] == "front":
if len(q) == 0:
print(-1)
else:
print(q[0])
elif command[0] == "back":
if len(q) == 0:
print(-1)
else:
print(q[-1])
elif command[0] == "pop_front":
if len(q) == 0:
print(-1)
else:
print(q.popleft())
elif command[0] == "pop_back":
if len(q) == 0:
print(-1)
else:
print(q.pop())
elif command[0] == "size":
print(len(q))
else:
if len(q) == 0:
print(1)
else:
print(0)