[python] 백준 10828번

도덩이의 개발 일지·2025년 1월 3일

백준

목록 보기
120/131
post-thumbnail

안녕하세요 !

오늘은 백준 10828번 - 스택 문제를 가지고 왔습니다.


문제 설명


해결 방법

문제를 해결한 방법은 다음과 같습니다.

  1. 입력을 받는다
  2. 다섯 개의 명령을 처리한다

1. 입력을 받는다

n =  int(input())
stack = []
for i in range(n):
    arr = list(sys.stdin.readline().strip().split())

2. 다섯 개의 명령을 처리한다

    if len(arr) >= 2 and arr[0] == "push":
        stack.append(arr[1])
    elif arr[0] == "pop":
        if len(stack) == 0:
            print(-1)
        else:
            print(stack.pop())
    elif arr[0] == "size":
        print(len(stack))
    elif arr[0] == "empty":
        print(1) if len(stack) == 0 else print(0)
    elif arr[0] == "top":
        if len(stack) == 0:
            print(-1)
        else:
            print(stack[-1])

전체 코드

import sys

n =  int(input())

stack = []
for i in range(n):
    arr = list(sys.stdin.readline().strip().split())
    
    if len(arr) >= 2 and arr[0] == "push":
        stack.append(arr[1])
    elif arr[0] == "pop":
        if len(stack) == 0:
            print(-1)
        else:
            print(stack.pop())
    elif arr[0] == "size":
        print(len(stack))
    elif arr[0] == "empty":
        print(1) if len(stack) == 0 else print(0)
    elif arr[0] == "top":
        if len(stack) == 0:
            print(-1)
        else:
            print(stack[-1])
profile
말하는 감자에서 개발자로 ( ´͈ ᵕ `͈ )◞♡

0개의 댓글