자료구조 및 알고리즘/백준

[python] 10828. 스택

viamemine 2023. 1. 27. 15:44
728x90
반응형

 

  • 문제


 

 

 

  • 올바른 풀이
import sys
N = int(input())

stack = []
for i in range(N):
    command = sys.stdin.readline().split()

    if command[0] == 'push': # stack에 입력
        stack.append(command[1])
    elif command[0] == 'top':
        if len(stack) == 0: # stack이 비어있으면 -1 출력
            print('-1')
        else:
            print(stack[len(stack)-1])
    elif command[0] == 'size':
        print(len(stack))
    elif command[0] == 'empty':
        if len(stack) == 0:
            print('1')
        else:
            print('0')
    elif command[0] == 'pop':
        if len(stack) == 0:
            print('-1')
        else:
            print(stack[len(stack)-1])
            del stack[len(stack)-1]

 

코드가 조금 더러울 수 있는데, 쉬운 문제입니다.

stack은 LIFO로, Last In First Out ! 

 

별다른 설명없이도 해당 문제를 잘 풀 수 있을 정도로 쉬운 문제였습니다. 

728x90

'자료구조 및 알고리즘 > 백준' 카테고리의 다른 글

[python] 10866. 덱  (0) 2023.01.27
[python] 10845. 큐  (0) 2023.01.27
[python] 1018. 체스판 다시 칠하기  (0) 2023.01.27
[python] 1920. 수 찾기  (0) 2023.01.26
[python] 1003. 피보나치 함수  (0) 2023.01.21