728x90
반응형
✏️ 문제
https://www.acmicpc.net/problem/10866
✏️ 풀이
파이썬의 collections.deque를 이용하였다.
from collections import deque
import sys
n=int(sys.stdin.readline())
dq=deque()
for _ in range(n):
order=list(sys.stdin.readline().split())
if order[0]=='push_front':
dq.appendleft(order[1])
elif order[0]=='push_back':
dq.append(order[1])
elif order[0]=='pop_front':
if dq:
x=dq.popleft()
print(x)
else:
print(-1)
elif order[0]=='pop_back':
if dq:
x=dq.pop()
print(x)
else:
print(-1)
elif order[0]=='size':
print(len(dq))
elif order[0]=='empty':
if len(dq)==0:
print(1)
else:
print(0)
elif order[0]=='front':
if dq:
print(dq[0])
else:
print(-1)
elif order[0]=='back':
if dq:
print(dq[-1])
else:
print(-1)
else:
print('예외')
728x90
반응형
'프로그래밍 > 백준' 카테고리의 다른 글
백준 2606: 바이러스 해설- python (0) | 2022.02.10 |
---|---|
백준 2178: 미로탐색 해설- python (0) | 2022.02.09 |
백준 1260: DFS와 BFS 해설 (파이썬, node.js) (0) | 2022.02.06 |
백준 11286: 절댓값 힙 해설- python (0) | 2022.02.06 |
백준 11000: 강의실 배정 해설 - python (0) | 2022.02.05 |