소스 코드
import sys
from collections import deque
n = int(sys.stdin.readline().rstrip())
board = deque()
ans = deque()
for q in range(n):
word = list(map(str,sys.stdin.readline().rstrip().split()))
if word[0] == 'push':
board.append(int(word[1]))
elif word[0] == 'pop':
if len(board) == 0:
ans.append(-1)
else:
ans.append(board.popleft())
elif word[0] == 'size':
ans.append(len(board))
elif word[0] == 'empty':
if len(board) == 0:
ans.append(1)
else:
ans.append(0)
elif word[0] == 'front':
if len(board) == 0:
ans.append(-1)
else:
ans.append(int(board[0]))
else:
if len(board) == 0:
ans.append(-1)
else:
ans.append(int(board[-1]))
for w in ans:
print(w)
해결 방법
1. 시간초과를 해결하는 것이 가장 큰 문제
1) queue 대신 itertools의 deque 사용
=> 시간 초과 해결 X
2) input() 대신에 sys.stdin.readline() 사용
=> 시간 초과 해결 O
느낀 점
ps. 개인적인 코드와 코드를 작성의 이유를 적은 것입니다.
오류나 적절치 않은 문법이 존재할 수 있으며, 다른 분들께는 굉장히 비효율적인 방법으로 여겨질 수 있습니다.
혹시 개선 사항, 오류 및 문제에 대한 수정 사항 등을 댓글로 남겨주신다면 감사한 마음으로 배우고 수정하겠습니다.
'코딩 문제해결 > 문제 풀이.백준' 카테고리의 다른 글
[BOJ/백준 코딩] 단어 나누기 - PYTHON #1251 (0) | 2023.05.20 |
---|---|
[BOJ/백준 코딩] 요세푸스 문제 - PYTHON #1158 (0) | 2022.01.12 |
[BOJ/백준 코딩] A → B - PYTHON #16953 (0) | 2021.11.25 |
[BOJ/백준 코딩] 1로 만들기 - PYTHON #1463 (0) | 2021.11.17 |
[BOJ/백준 코딩] 평범한 배낭 - PYTHON #12865 (0) | 2021.11.15 |