입력
첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000)
이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경우 해당 수를 쓴다.
정수가 "0"일 경우에 지울 수 있는 수가 있음을 보장할 수 있다.
출력
재민이가 최종적으로 적어 낸 수의 합을 출력한다.
스택문제다.
0이 아니면 입력받고, 0이면 이전 값을 지운다.
K번 반복하는 동안
정수를 입력받고,
입력받은 수가 0인데 첫번째 순서가 아닐 때:
이전에 입력받은 수를 뺀다.
입력받은 수가 0인데 첫번째 순서일 때:
뺄 수가 없으므로 넘어간다.
그것이 아니라면:
list에 수를 넣는다.
list a가 비어있지 않다면:
a의 요소들을 하나씩 꺼내 더한다.
그 합을 출력한다.

처음엔 내가 아는 지식으로 풀었는데, 시간이 4088ms로 너무 오래걸려서 이상했다.
다른 분들의 풀이를 보며 어디를 수정해야 할 지 봤다.

4088ms가 116ms까지 줄어들었다.
input() -> sys.stdin.readline() 의 사용
sys를 import하여 입력받는 방식을 바꾼 순간,
속도가 약 30배 빨라져서 128ms로 줄었다.
sum() 함수의 사용
list의 요소들을 더할 때, 하나씩 더해줄 필요가 없었다.
sum() 함수를 사용하면 저절로 모든 값을 더해 반환한다.
그럼 변수 sum을 정의할 필요도 없다.
pop() 함수의 사용방법
pop()의 괄호 안에 index값을 넣지 않고, 비워놔도
최근에 추가된 값이 빠져나오는 것을 알았다.
조건문의 간편화
and 뒤에 적었던 'i!=0', 'i==0'을 지워도 잘 동작한다.
3번에 의해 index값을 적지 않아도, 마지막 값이 저절로 pop 되므로
i가 0일 때를 따로 계산하지 않아도 된다.
왜냐하면 i가 0일 때, pop()을 실행해도 뺄 것이 없어 실행되지 않고 자동으로 넘어갈 것이기 때문이다.