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 |