728x90
문제 10866. 덱
1. 나의 코드와 발상 과정
import sys
from collections import deque
n = int(input())
queue = deque()
answer = []
for _ in range(n):
order = sys.stdin.readline().strip()
if order[0:10] == 'push_front':
queue.append(int(order[11:]))
elif order[0:9] == 'push_back':
queue.appendleft(int(order[10:]))
elif order[0:9] == 'pop_front':
if not queue:
answer.append(-1)
else:
answer.append(queue.pop())
elif order[0:8] == 'pop_back':
if not queue:
answer.append(-1)
else:
answer.append(queue.popleft())
elif order[0:5] == 'front':
if not queue:
answer.append(-1)
else:
answer.append(queue[-1])
elif order[0:4] == 'back':
if not queue:
answer.append(-1)
else:
answer.append(queue[0])
elif order[0:4] == 'size':
answer.append(len(queue))
elif order[0:5] == 'empty':
if len(queue) == 0:
answer.append(1)
else:
answer.append(0)
for i in answer:
print(i)
10828, 10845 스택, 큐 문제와 같다.
기본 세 가지 문제로 deque와 스택의 작동원리, 활용법을 익혀볼 수 있었다.
문제 출처:
728x90
'Problem Solving' 카테고리의 다른 글
[백준] 2164 카드2 python 알고리즘 문제 (0) | 2022.04.24 |
---|---|
[백준] 11866 요세푸스 문제 0 python 알고리즘 문제 (0) | 2022.04.24 |
[백준] 10845 큐 python 알고리즘 문제 (0) | 2022.04.24 |
[백준] 10828 스택 python 알고리즘 문제 (0) | 2022.04.24 |
[백준] 1436 영화감독 숌 python 알고리즘 문제 (0) | 2022.04.24 |
댓글