728x90
반응형
문제
https://www.acmicpc.net/problem/10866
해설
문제 제목대로 덱을 이용하여 풀면 된다.
코드
-파이썬
#백준 10866(덱)
from collections import deque
import sys
n = int(sys.stdin.readline())
deq = deque()
for i in range(n):
x = sys.stdin.readline().split()
if x[0] == 'push_front':
deq.appendleft(x[1])
if x[0] == 'push_back':
deq.append(x[1])
if x[0] == 'pop_front':
if len(deq) >= 1:
print(deq[0])
deq.popleft()
else:
print(-1)
if x[0] == 'pop_back':
if len(deq) >= 1:
print(deq[-1])
deq.pop()
else:
print(-1)
if x[0] == 'size':
print(len(deq))
if x[0] == 'empty':
if len(deq) >= 1:
print(0)
else:
print(1)
if x[0] == 'front':
if len(deq) >= 1:
print(deq[0])
else:
print(-1)
if x[0] == 'back':
if len(deq) >= 1:
print(deq[-1])
else:
print(-1)
728x90
반응형
'알고리즘 > 백준' 카테고리의 다른 글
[파이썬] BOJ_1212(8진수 2진수) (0) | 2022.08.13 |
---|---|
[파이썬] BOJ_2745(진법 변환) (0) | 2022.08.12 |
[파이썬] BOJ_10828(스택) (0) | 2022.05.24 |
[파이썬] BOJ_11004(K번째 수) (0) | 2022.05.18 |
[파이썬] BOJ_10989(수 정렬하기 3) (0) | 2022.05.17 |