https://www.acmicpc.net/problem/28278
import sys
input = sys.stdin.readline
stack = []
def command(n, k=None):
if n == '1':
stack.append(k)
elif n == '2':
if stack:
print(stack.pop())
else:
print(-1)
elif n == '3':
print(len(stack))
elif n == '4':
if stack:
print(0)
else:
print(1)
elif n == '5':
if stack:
print(int(stack[-1]))
else:
print(-1)
N = int(input())
for _ in range(N):
X = input().split()
if len(X) == 1:
command(X[0])
else:
command(X[0], X[1])
[개선할 점]
- input의 길이가 서로 다를 수 있는 부분이 은근 생소했던 부분이었는데, 사실 함수 구성을 하지 않고 바로 if문을 했다면, if X[0] == '1': stack.append(X[1]) 정도로 해결해볼 수도 있었다.
'codes > baekjoon' 카테고리의 다른 글
10773 제로 (0) | 2025.01.04 |
---|---|
24511 queuestack (0) | 2024.12.17 |
11478 서로 다른 부분 문자열의 개수 (0) | 2024.12.15 |