https://www.acmicpc.net/problem/10866
풀이
자료구조 덱의 기능을 구현해볼 수 있는 문제입니다. 덱의 메서드 공부와 함께 풀어주시면 좋겠습니다.
# 10866번 덱
from collections import deque
import sys
n = int(input())
queue = deque()
for _ in range(n):
li = sys.stdin.readline().rstrip().split()
order = li[0]
if order == "push_front":
queue.appendleft(int(li[1]))
elif order == "push_back":
queue.append(int(li[1]))
elif order == "pop_front":
if queue:
print(queue.popleft())
else:
print(-1)
elif order == "pop_back":
if queue:
print(queue.pop())
else:
print(-1)
elif order == "size":
print(len(queue))
elif order == "empty":
if queue:
print(0)
else:
print(1)
elif order == "front":
if queue:
print(queue[0])
else:
print(-1)
else:
if queue:
print(queue[-1])
else:
print(-1)
출력결과
'백준 > 구현' 카테고리의 다른 글
[백준] 3003번 킹, 퀸, 룩, 비숍, 나이트, 폰 - 파이썬 (0) | 2022.08.16 |
---|---|
[백준] 11050번 이항 계수 1 - 파이썬 (0) | 2022.07.18 |
[백준] 2164번 카드2 - 파이썬 (0) | 2022.07.18 |
[백준] 4153번 직각삼각형 - 파이썬 (0) | 2022.07.18 |
[백준] 1181번 단어 정렬 - 파이썬 (0) | 2022.07.18 |