[백준 10828 파이썬] - 스택

zsunny·2022년 7월 20일
1

📌 문제

💯 정답

import sys
input = sys.stdin.readline

def push(x):
    stack.append(x)
def pop():
    if len(stack) == 0:         # 스택에 아무것도 없으면
        return -1
    else:
        return stack.pop()      # pop() 이용. 빼고 출력
def size():
    return len(stack)           # 들어있는 개수
def empty():
    if len(stack) == 0:         # 스택에 아무것도 없으면
        return 1
    else:
        return 0
def top():
    if len(stack) == 0:         # 스택에 아무것도 없으면
        return -1
    else:
        return stack[-1]        # 빼지 않고 출력

n = int(input())
stack = []
for _ in range(n):
    input_list = list(input().rstrip().split())
    order = input_list[0]           # 명령부분만
    if order == "push":             # 문자열 ""과 비교해야함
        push(input_list[1])
    elif order == "pop":
        print(pop())
    elif order == "size":
        print(size())
    elif order == "empty":
        print(empty())
    elif order == "top":
        print(top())

📝 설명

• 우선, 문제에서 주어진 명령에 해당하는 내용을 각각 함수로 작성하였다.
• 입력은 공백기준 리스트로 입력을 받는다.
• 입력받은 리스트의 [0]"push", "pop", "size", "empty", "top" 부분을 확인해
  그에 해당하는 함수를 호출한다.
profile
매일 성장하는 예비 웹 개발자 🌱

0개의 댓글