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

예전에 큐 문제 풀었던 거랑 같은 유형 같은데 무슨 차이인지 모르겠다. 어쨌든 못 푼 문제에서 없애고 싶어서 한번 풀어본 유형이지만 다시 풀어보았다!
스택과 큐 그리고 덱에 대해선 이전에 말한 바 있으니 자세한 설명을 생략하겠다. 개념 자체를 모르더라도 문제의 형식에 맞춰서 구현만 하면 되니 이해가 안된 상태에서 진행해도 무관할 것 같다.
풀이:
import sys
N = int(sys.stdin.readline())
qu = []
for i in range(N):
put = input().split()
if put[0] == 'push':
qu.append(int(put[1]))
elif put[0] == 'pop':
if len(qu) == 0:
print(-1)
else:
p = qu.pop(0)
print(p)
elif put[0] == 'size':
print(len(qu))
elif put[0] == 'empty':
if len(qu) == 0:
print(1)
else:
print(0)
elif put[0] == 'front':
if len(qu) == 0:
print(-1)
else:
print(qu[0])
elif put[0] == 'back':
if len(qu) == 0:
print(-1)
else:
print(qu[-1])
위 코드대로 풀 경우, 이번 문제에서 주의할 점은 sys 라이브러리를 import 해야만 풀 수 있다는 점이다.
처음에 sys 없이 풀었다가 시간 초과가 나서 sys를 추가했는데 좀 오래 걸리긴 했지만 풀렸다. 비슷한 유형인데 시간초과가 나니 다르게 풀어보라는 의미로 새로 나온 문제인가 했는데 그건 아닌 것 같다.
어쨌든 이번 문제는 단순히 문제 설명에 맞춰 함수를 잘만 활용하면 if문을 통해 쉽게 풀 수 있고, 코드 역시 설명 그대로 만든 거라 자세한 설명은 생략하겠다.
'CODING 💻' 카테고리의 다른 글
| 백준 2446번- '별 찍기 - 9' (PYTHON 풀이) (0) | 2025.11.27 |
|---|---|
| 백준 2748번- '피보나치 수 2' (PYTHON 풀이) (0) | 2025.11.26 |
| 백준 11721번- '열 개씩 끊어 출력하기' (PYTHON 풀이) (0) | 2025.11.24 |
| 백준 15596번, 10817번 - '정수 N개의 합', '세 수' (PYTHON 풀이) (0) | 2025.11.23 |
| 백준 10039번- '평균 점수' (PYTHON 풀이) (0) | 2025.11.22 |
