728x90
반응형
이 문제는 백준 10828번 스택 문제의 연장선입니다. 먼저 확인하시는 것을 추천드립니다.
[백준 10828번] 스택 Python 풀이 :: 러아니푸의 공부방 (tistory.com)
Python 문제풀이
#큐
import sys
n = int(input())
x=[]
for i in range(n):
# 입력을 input을 쓰지말고 이렇게 활용해야 빠르게 풀 수 있다.
order= sys.stdin.readline().rstrip()
if order =='pop':
if len(x)==0:
print(-1)
else:
print(x.pop())
elif order =='size':
print(len(x))
elif order =='empty':
if len(x)==0:
print(1)
else:
print(0)
elif order =='top':
if len(x)==0:
print(-1)
else:
print(x[-1])
elif order =='front':
if len(x)==0:
print(-1)
else:
print(x[-1])
elif order =='back':
if len(x)==0:
print(-1)
else:
print(x[0])
else:
x.insert(0, order.split()[1])
스택과 다른 점은 push로 입력받을때 0번째 위치로 넣어주고 나머지 작업은 리스트의 맨 마지막에서 이루어진다는 것 입니다. 물론 back을 입력받았을 경우에는 제일 최근 숫자가 들어온 위치인 0번째를 출력해줍니다.
이 외에는 스택 문제와 다른점이 없습니다. 시간초과가 나셔서 찾아오셨다면 sys.stdin.readline().rstrip()로 명령을 입력받는 것을 추천드립니다.
728x90
반응형
'코딩문제풀이 > 백준' 카테고리의 다른 글
[백준 1874번] 스택 수열 Python 풀이 (0) | 2021.07.09 |
---|---|
[백준 1158번] 요세푸스 문제 Python 풀이 (0) | 2021.07.08 |
[백준 10610번] 30 Python 풀이 (0) | 2021.07.08 |
[백준 1427번] 소트인사이드 Python 풀이 (0) | 2021.07.08 |
[백준 10828번] 스택 Python 풀이 (0) | 2021.07.07 |