https://www.acmicpc.net/problem/10773
입력받은 정수가 0일때 가장 최근에 쓴 수를 지운다.
즉, 스택을 이용해서 pop을 해준다.
첫 코드
k = int(input())
stack = []
for i in range(k):
stack.append(int(input()))
if stack[-1] == 0:
stack.pop() # 0 을 빼고
stack.pop() # 최근것 빼기
print(sum(stack))
입력받은 것을 바로 붙여줬는데 낭비인 것 같아서 아래 코드로 고쳐주었다.
k = int(input())
stack = []
for i in range(k):
n = int(input())
if n == 0:
stack.pop()
else:
stack.append(n)
print(sum(stack))
둘 다 정답이지만 메모리 사용률은 같고 시간은 아래 것이 효율이 더 좋았다.