728x90
반응형

이 문제는 백준 10828번 스택 문제의 연장선입니다. 먼저 확인하시는 것을 추천드립니다.

[백준 10828번] 스택 Python 풀이 :: 러아니푸의 공부방 (tistory.com)

 

[백준 10828번] 스택 Python 풀이

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:..

fjdkslvn.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
반응형

+ Recent posts