반응형
문제설명
https://www.acmicpc.net/problem/10845
사고과정
- 데큐 라이브러리를 활용해 큐를 구현했다.
- if 문을 좀 더 간결하게 작성해 보았다.
- 처음에 front, back을 입력받으면 출력만 해주고 원소를 빼내지 않아야 하는데 pop 까지 해버려서 실수하긴 했다..!
- 시간 초과를 막기 위해서 sys 라이브러리를 사용했다(sys 사용안하면 시간초과 남!)
풀이
from collections import deque
import sys
input = sys.stdin.readline
n = int(input().rstrip())
queue = deque([])
for _ in range(n):
order = input().split()
if order[0] == 'push':
queue.append(order[1])
if order[0] == 'pop':
print(-1 if len(queue) == 0 else queue.popleft())
if order[0] == 'size':
print(len(queue))
if order[0] == 'empty':
print(1 if len(queue) == 0 else 0)
if order[0] == 'front':
print(-1 if len(queue) == 0 else queue[0])
if order[0] == 'back':
print(-1 if len(queue) == 0 else queue[-1])
반응형
'알고리즘 삽질장' 카테고리의 다른 글
[BOJ] 17413번 - 단어 뒤집기 2 (0) | 2021.10.24 |
---|---|
[BOJ] 1158번 - 요세푸스 문제 (0) | 2021.10.24 |
[BOJ] 1406번 - 에디터 (0) | 2021.10.24 |
[BOJ] 1874번 - 스택 수열 (0) | 2021.10.23 |
[BOJ] 9012번 - 괄호 (0) | 2021.10.23 |