-코드
from collections import deque
from sys import stdin
r = deque()
n = int(stdin.readline())
for i in range(n):
a = stdin.readline().split()
if a[0] == 'push':
r.append(a[1])
elif a[0] == 'pop':
if len(r) == 0:
print(-1)
else:
print(r.popleft())
elif a[0] == 'size':
print(len(r))
elif a[0] == 'empty':
if len(r) == 0:
print(1)
else:
print(0)
elif a[0] == 'front':
if len(r) == 0:
print(-1)
else:
print(r[0])
elif a[0] == 'back':
if len(r) == 0:
print(-1)
else:
print(r[-1])
예전에 비슷한 문제를 풀어서 리스트로 받아서 출력하는 것으로 했으나 시간 초과가 생겼습니다. 그래서 이유를 찾아보니 pop(0)를 사용해서 리스트의 값을 제거하면서 출력할 때 원소를 한 칸씩 밀어내는 시간이 소요되어 시간이 더 걸린 다는 것을 알고 deque를 사용하여 해결을 하였습니다.
'Beakjoon&프로그래머스 > 파이썬' 카테고리의 다른 글
[백준/파이썬]15649번 N과 M (1) (0) | 2021.08.19 |
---|---|
[백준/파이썬]13699번 점화식 (0) | 2021.08.18 |
[백준/파이썬]1120번 문자열 (0) | 2021.08.17 |
[백준/파이썬]1026번 보물 (0) | 2021.08.17 |
[백준/파이썬]10610번 30 (0) | 2021.08.16 |