백준 10828번 스택
코드 풀이
- 문자열을 어떻게 파싱하냐가 고민이었는데,
word = input().split()
을 이용하면 word
에 띄어쓰기를 기준으로 리스트 형태로 담깁니다.
- 예를 들어,
push 1
은 word = ['push', '1']
처럼 담기고, top
의 경우 word = ['top']
의 형태로 변수에 담깁니다.
import sys
input = sys.stdin.readline
n = int(input())
stack = []
for _ in range(n):
word = input().split()
if word[0] == 'push':
stack.append(int(word[1]))
elif word[0] == 'pop':
if not stack:
print(-1)
else:
print(stack.pop())
elif word[0] == 'size':
print(len(stack))
elif word[0] == 'empty':
if not stack:
print(1)
else:
print(0)
else:
if not stack:
print(-1)
else:
print(stack[-1])