728x90
문제 10845. 큐
1. 나의 코드와 발상 과정
import sys
from collections import deque
n = int(input())
queue = deque()
for _ in range(n):
order = sys.stdin.readline().strip()
if order[0:4] == 'push':
queue.appendleft(int(order[5:]))
elif order[0:5] == 'front':
if not queue:
print(-1)
else:
print(queue[-1])
elif order[0:4] == 'back':
if not queue:
print(-1)
else:
[print(queue[0])]
elif order[0:4] == 'size':
print(len(queue))
elif order[0:5] == 'empty':
if len(queue) == 0:
print(1)
else:
print(0)
else:
if not queue:
print(-1)
else:
print(queue.pop())
10828 스택 문제를 거의 비슷하게 구현했다.
deque를 import해서 쓰는 차이가 있다.
문제출처
728x90
'Problem Solving' 카테고리의 다른 글
[백준] 11866 요세푸스 문제 0 python 알고리즘 문제 (0) | 2022.04.24 |
---|---|
[백준] 10866 덱 python 알고리즘 문제 (0) | 2022.04.24 |
[백준] 10828 스택 python 알고리즘 문제 (0) | 2022.04.24 |
[백준] 1436 영화감독 숌 python 알고리즘 문제 (0) | 2022.04.24 |
[백준] 1181 단어 정렬 python 알고리즘 문제 (0) | 2022.04.24 |
댓글