백준 10866번, 백준 10845번과 매우 유사한 문제. 세부 조건만 잘 따져주면 쉽게 해결 가능하다.
나의 풀이
n,*l=open(0)
a=[]
for i in l:
if (cmd:=(q:=i.split())[0]) == 'push': a.append(q[1])
elif cmd == 'pop': print(a.pop() if a else -1)
elif cmd == 'size': print(len(a))
elif cmd == 'empty': print(0 if a else 1)
elif cmd == 'top': print(a[-1] if a else -1)
CODE REVIEW
- 역시
open(0)
을 이용해서 풀어내야 시간초과 제한에서 쉽게 벗어날 수 있다. - 바다코끼리 연산자를 이용하여 같은 코드 반복을 피할 수 있다.