728x90
반응형

✏️ 문제
https://www.acmicpc.net/problem/10866
10866번: 덱
첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지
www.acmicpc.net
✏️ 풀이
파이썬의 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 |