[Python] 백준 28278

eun·2024년 1월 17일

문제 28278

위 문제를 먼저 이해해보자

  • 첫번째 줄에 명령 수인 n이 주어진다.
  • 그 다음줄부터 n개의 명령이 주어지며 해당 명령은 총 다섯 가지이다.
  • 흔히 아는 스택의 개념을 이용하여 풀어보자.
# 28278
import sys

n = int(input())

stack = []

def use_stack(num):
    if num[0] == '1':
        stack.append(num[1])
    elif num[0] == '2':
        if len(stack) == 0:
            print(-1)
        else:
            ans = stack.pop()
            print(ans)
    elif num[0] == '3':
        print(len(stack))
    elif num[0] == '4':
        if len(stack) == 0:
            print(1)
        else:
            print(0)
    elif num[0] == '5':
        if len(stack) != 0:
            print(stack[len(stack) - 1])
        else:
            print(-1)
        
        
for i in range(n):
    q = sys.stdin.readline().split()
    use_stack(q)
    

위 문제는 스택의 개념을 몰라고 단순히 조건문 만으로도 쉽게 해결 가능했다.

0개의 댓글