알고리즘/백준 문제풀이

[백준] 10828 스택 파이썬 풀이 (스택)

자바칩 프라푸치노 2021. 6. 21. 16:35

코드

import sys
stack = []
num= int(sys.stdin.readline()) #input()을 쓰면 시간 초과
for i in range(num):
    order =  sys.stdin.readline().split() #공백 기준으로 띄워서 배열로 들어감
    if order[0] == 'push':
        stack.append(order[1])
    elif order[0] == 'top':
        if len(stack)>0:
            print(stack[-1])
        else:
            print(-1)
    elif order[0] == 'size':
        print(len(stack))
    elif order[0] == 'pop':
        if len(stack)>0:
            print(stack[-1])
            stack.pop(-1)
        else:
            print(-1)
    elif order[0] == 'empty':
        if len(stack) >0:
            print(0)
        else:
            print(1)
   

풀이

for문이 한번 돌때마다 order은 입력받은 값으로 바뀐다.

배열로 들어간 이유는 push에서 띄우고 값이 입력되기 때문

그 외에는 기본개념을 이용하여 출력해주었다.

728x90