Notice
Recent Posts
Recent Comments
Link
jyamethyst21 님의 블로그
백준 10866번- '덱' (PYTHON 풀이) 본문
문제:

이전에 스택, 큐, 덱 문제를 풀었는데 비슷한 유형의 문제가 남아있다. 아무래도 시간초과를 발생시키는 것에 차이가 있지 않을까싶다. 설명이 잘 나와있으니 추가 설명은 생략하겠다!
풀이:
from collections import deque
N = int(input())
q = deque()
for i in range(N):
m = input().split()
if m[0] == 'push_front':
q.appendleft(int(m[1]))
elif m[0] == 'push_back':
q.append(int(m[1]))
elif m[0] == 'pop_front':
if len(q) == 0:
print(-1)
else:
k1 = q.popleft()
print(k1)
elif m[0] == 'pop_back':
if len(q) == 0:
print(-1)
else:
k2 = q.pop()
print(k2)
elif m[0] == 'size':
print(len(q))
elif m[0] == 'empty':
if len(q) == 0:
print(1)
else:
print(0)
elif m[0] == 'front':
if len(q) == 0:
print(-1)
else:
print(q[0])
elif m[0] == 'back':
if len(q) == 0:
print(-1)
else:
print(q[-1])
좀 더 간단하게 푸는 방법이 있으려나?
일단 필자는 문제 설명 그대로 그냥 코드로 바로 구현했다.
상기 코드대로 python3 실행하면 시간초과가 나는데 pypy3로 하게 되면 문제 없이 잘 통과된다.
python3로 해결하고 싶다면, import sys 후 readline()으로 입력받으면 시간초과가 사라질 것이다.
'CODING 💻' 카테고리의 다른 글
| 백준 30403번- '무지개 만들기' (PYTHON 풀이) (0) | 2025.12.20 |
|---|---|
| 백준 10866번- '덱' (PYTHON 풀이) (0) | 2025.12.19 |
| 백준 11047번- '동전 0' (PYTHON 풀이) (0) | 2025.12.17 |
| 백준 11719번- '그대로 출력하기 2' (PYTHON 풀이) (1) | 2025.12.16 |
| 백준 10825번- '국영수' (PYTHON 풀이) (0) | 2025.12.15 |
