https://www.acmicpc.net/problem/28279

각 명령에 맞게 조건문으로 코드를 작성하면 된다.
import sys
from collections import deque
# 명령어의 개수 N을 입력받습니다.
N = int(sys.stdin.readline())
# deque (더블 엔디드 큐)를 초기화합니다.
myDeque = deque()
# N번의 명령을 받아 해당 연산을 수행합니다.
for _ in range(N):
# 각 명령어를 입력받아 정수 리스트로 변환합니다.
command = list(map(int, sys.stdin.readline().split()))
# command[0]는 명령의 종류를 나타내며, 그에 따라 다른 연산을 수행합니다.
if (command[0] == 1):
# 명령 1: 입력받은 command[1] 값을 덱의 왼쪽에 추가합니다.
myDeque.appendleft(command[1])
elif (command[0] == 2):
# 명령 2: 입력받은 command[1] 값을 덱의 오른쪽에 추가합니다.
myDeque.append(command[1])
elif (command[0] == 3):
# 명령 3: 덱의 왼쪽에서 하나의 원소를 제거하고 그 값을 출력합니다. 덱이 비어있다면 -1을 출력합니다.
if (myDeque):
print(myDeque.popleft())
else:
print(-1)
elif (command[0] == 4):
# 명령 4: 덱의 오른쪽에서 하나의 원소를 제거하고 그 값을 출력합니다. 덱이 비어있다면 -1을 출력합니다.
if (myDeque):
print(myDeque.pop())
else:
print(-1)
elif (command[0] == 5):
# 명령 5: 덱의 크기를 출력합니다.
print(len(myDeque))
elif (command[0] == 6):
# 명령 6: 덱이 비어있는지 확인합니다. 비어있다면 1, 아니면 0을 출력합니다.
print(0 if myDeque else 1)
elif (command[0] == 7):
# 명령 7: 덱의 가장 왼쪽 원소를 출력합니다. 덱이 비어있다면 -1을 출력합니다.
if (myDeque):
print(myDeque[0])
else:
print(-1)
elif (command[0] == 8):
# 명령 8: 덱의 가장 오른쪽 원소를 출력합니다. 덱이 비어있다면 -1을 출력합니다.
if (myDeque):
print(myDeque[-1])
else:
print(-1)
deque와 append, appendleft, pop ,popleft 를 사용하여 풀 수 있었다.