Algorithm 공부자료/알고리즘 문제풀이

백준 #10828 스택 파이썬으로 구현하기

글른 2020. 3. 10. 01:52

문제 설명

 

기본 개념

'기본개념'을 클릭하면, stack 자료구조에 관한 간략한 개념을 알아볼 수 있다.

 

구현 아이디어

파이썬의 리스트가 기본적으로 stack 구조를 따른다.

sys.stdin.readline() 이 아닌 input() 함수를 이용 시, 시간 초과 에러가 뜬다.

 

입력받은 명령어에 따라서 if-elif 문을 이용하여 해당 명령을 처리한다.

파이썬에서 기본적으로 제공하는 append, pop, len 함수만으로 구현이 충분히 가능하다. 

 

소스 코드

import sys
N = int(sys.stdin.readline())

stack = list()

for i in range(N):
    cmd = sys.stdin.readline().split()

    if cmd[0] == "push":
        stack.append(int(cmd[1]))

    elif cmd[0] == "pop":
        if not stack:
            print('-1')
        else:
            print(stack[-1])
            stack.pop()

    elif cmd[0] == "size":
        print(len(stack))

    elif cmd[0] == "empty":
        if not stack:
            print(1)
        else:
            print(0)

    elif cmd[0] == "top":
        if not stack:
            print(-1)
        else:
            print(stack[-1])