공부/Algorithm
[BOJ] 10828. 스택
mariabeetle
2021. 1. 16. 14:37
10828번: 스택
첫째 줄에 주어지는 명령의 수 N (1 ≤ N ≤ 10,000)이 주어진다. 둘째 줄부터 N개의 줄에는 명령이 하나씩 주어진다. 주어지는 정수는 1보다 크거나 같고, 100,000보다 작거나 같다. 문제에 나와있지
www.acmicpc.net
풀이
- 경우에 맞게 구현
n = int(input())
stack = []
ans = []
for _ in range(n):
input_order = input().split(' ')
if input_order[0] == 'push':
stack.insert(0, input_order[1])
elif input_order[0] == 'pop':
if len(stack):
ans.append(stack.pop(0))
else:
ans.append(-1)
elif input_order[0] == 'size':
ans.append(len(stack))
elif input_order[0] == 'empty':
if len(stack):
ans.append(0)
else:
ans.append(1)
elif input_order[0] == 'top':
if len(stack):
ans.append(stack[0])
else:
ans.append(-1)
for a in ans:
print(a)