[Python] 백준 10828 - 스택

혜원·2022년 10월 9일
0

백준

목록 보기
7/25

백준 10828-스택

문제

소스코드

import sys
input=sys.stdin.readline

def push(x):
    stack.append(x)

def pop():
    if not stack:
        return -1
    return stack.pop()

def size():
    return len(stack)

def empty():
    if not stack:
        return 1
    return 0

def top():
    if not stack:
        return -1
    return stack[-1]


n=int(input())
stack = []
for _ in range(n):
    order=input().split()
    if 'push' in order:
        push(order[1])
    elif 'pop' in order:
        print(pop())
    elif 'size' in order:
        print(size())
    elif 'empty' in order:
        print(empty())
    elif 'top' in order:
        print(top())

해설

스택의 기본을 묻는 문제이다.
각 명령에 대한 함수를 만들어서 구현했다.
push():
split을 사용하여 띄어쓰기를 기준으로 나눈 다음 push했다.
top():
값을 꺼내오지 않고 스택의 가장 위에있는 값을 출력하기 위해서는 stack[-1]을 써주면 된다.

profile
안녕하세요

0개의 댓글