[문제]
https://www.acmicpc.net/problem/10773
[풀이]
0이 입력될 때마다 이전 값 중 가장 최근에 쓴 값을 지워야 한다.
이는 LIFO(Last In First Out) 방식을 사용하는 stack과 작동방식이 동일하다.
따라서 입력값을 n으로 받아 n이 0일 경우 stack에 있는 값을 pop() 하고,
(리스트.pop() 할 경우 가장 마지막 원소가 빠져나감)
n이 0이 아닐 경우에 stack에 n값을 추가해준다.
마지막으로 sum함수를 이용해 리스트 합을 구한다.
[코드]
if __name__ == '__main__':
stack = []
for _ in range(int(input())):
n = int(input())
if n == 0:
stack.pop()
else:
stack.append(n)
print(sum(stack))