https://www.acmicpc.net/problem/10828
python의 list로 구현할 수 있다. len()을 이용하여 스택에 정수가 있는지 없는지 확인할 수 있다. 물론 파이썬은 list자체를 조건으로 사용할 수 있다. pop()을 이용해서 pop을 구현하고, list[-1]을 이용하여 top을 구현할 수 있다.
from sys import stdin
input = stdin.readline
def push(array,n):
array.append(n)
def pop(array):
if len(array)==0: #조건을 not array로 변경 가능
return -1
else:
return array.pop()
def size(array):
return len(array)
def empty(array):
if len(array)==0: #조건을 not array로 변경 가능
return 1
else:
return 0
def top(array):
if len(array)==0: #조건을 not array로 변경 가능
return -1
else:
return array[-1]
n = int(input())
array = list()
for i in range(n):
m = input()
if 'push' in m:
m, n = m.split()
n = int(n)
push(array,n)
elif 'top' in m:
print(top(array))
elif 'size' in m:
print(size(array))
elif 'empty' in m:
print(empty(array))
elif 'pop' in m:
print(pop(array))