티스토리 뷰

PS/Python

[Python] 백준 #10828 스택

yoo.o 2020. 8. 13. 13:48
반응형

문제

 

10828번: 스택

첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지 �

www.acmicpc.net

풀이

기본적인 스택문제

파이썬에서 스택은 별도의 라이브러리를 사용하지 않고 리스트의 append()와 pop()을 통해 구현한다. 

import sys

stack = []

N = int(input())
for _ in range(N):
    input = sys.stdin.readline().strip()
    if input == "pop":
        if len(stack) == 0:
            print(-1)
        else:
            print(stack.pop())
    elif input == "empty":
        if len(stack) == 0:
            print(1)
        else:
            print(0)
    elif input == "top":
        if len(stack) == 0:
            print(-1)
        else:
            print(stack[-1])
    elif input == "size":
        print(len(stack))
    else:
        stack.append(input.split()[1])
        

 

 

반응형