[Python] BOJ 10828: 스택

Binsu·2021년 8월 14일
0

Algorithms

목록 보기
5/22
post-thumbnail

스택이란?

  • https://brightwon.tistory.com/8

    위 이미지는 스택이 활용되는 안드로이드 앱의 액티비티의 예시다. 링크를 타고 들어가면 그림과 함께 스택과 큐가 일상에서 어떻게 쓰이는지 설명이 잘 되어있다.

문제

접근 방법

처음에는 클래스에 push, pop, size, empty, top 함수를 각각 만들까 생각했지만 간단한 문제이기에 order 리스트의 0번 인덱스의 원소(명령)를 if문으로 비교 후, push 등의 작업을 수행하는 것을 N만큼 반복하도록 만들었다.

풀이

from sys import stdin

N = int(stdin.readline())

stack = []

for _ in range(N):
    order = list(stdin.readline().split())    # 명령어과 X를 입력

    if order[0] == 'push':
        stack.append(orer[1])

    elif order[0] == 'pop':
        if len(stack) == 0:
            print(-1)
        else:
            print(stack.pop())

    elif order[0] == 'size':
        print(len(stack))

    elif order[0] == 'empty':
        if len(stack) == 0:
            print(1)
        else:
            print(0)
    elif order[0] == 'top':
        if len(stack) != 0:
            print(stack[-1])
        else:
            print(-1)

0개의 댓글