덱이란?
앞 뒤, 즉 양쪽에서 삽입과 삭제가 가능한 구조로 스택과 큐의 연산을 모두 지원하는 자료구조 이다.
사용한 언어 : python
from collections import deque
: 덱 자료형을 생성하는 모듈
deque()
: 덱 객체 생성
사용한 deque 메소드
append()
: 오른쪽에 데이터 추가appendleft()
: 왼쪽에서 데이터 추가pop()
: 오른쪽에서 데이터 삭제popleft()
: 데이터를 왼쪽에서 삭제import sys
from collections import deque
n = int(input())
result = deque()
for i in range(n):
x = sys.stdin.readline().split()
if x[0] == "push_back":
result.append(x[1])
elif x[0] == "push_front":
result.appendleft(x[1])
elif x[0] == "front":
if result:
print(result[0])
else:
print(-1)
elif x[0] == "back":
if result:
print(result[-1])
else:
print(-1)
elif x[0] == "pop_front":
if result:
print(result.popleft()) # result가 비어있어서
else:
print(-1)
elif x[0] == "pop_back":
if result:
print(result.pop())
else:
print(-1)
elif x[0] == "size":
print(len(result))
elif x[0] == "empty":
if result:
print(0)
else:
print(1)