[백준] 10828: 스택 (Python)

JiKwang Jeong·2021년 10월 7일
0

문제📖

풀이🙏

stack을 구현하기 위해 python list를 사용한다.

  • command를 입력받는다.
  • command가 push인 경우 입력값을 stack 리스트에 저장한다.
  • command가 pop인 경우 stack이 비어있으면 -1을 출력하고 아닐 경우 stack 맨 위의 값을 꺼내고 출력한다.
  • command가 size인 경우 stack의 길이를 출력한다.
  • command가 empty인 경우 stack이 비어있으면 1을 출력하고 아닐 경우 0을 출력한다.
  • command가 top인 경우 stack이 비어있으면 -1을 출력하고 아닐 경우 스택의 맨 위 원소를 출력한다.

코드💻

import sys
input = sys.stdin.readline
stack = []

for _ in range(int(input())):
    command = input().split()
    if command[0] == 'push': # push 일 경우
        stack.append(int(command[1])) # stack에 저장
    elif command[0] == 'pop': # pop 일 경우
        if len(stack) == 0: 
            print(-1)
        else:
            print(stack.pop())
    elif command[0] == 'size': # size 일 경우
        print(len(stack))
    elif command[0] == 'empty': # empty 일 경우
        if len(stack) == 0:
            print(1)
        else:
            print(0)
    else: # top 일 경우
        if len(stack) == 0:
            print(-1)
        else:
            print(stack[-1])
profile
기억보다 기록, 난리보다 정리

0개의 댓글