백준/문제풀이_python

10773 제로 _python

휴대용치즈 2022. 10. 25. 16:33

https://www.acmicpc.net/problem/10773

 

10773번: 제로

첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경

www.acmicpc.net

실랜디로 만난 문제. 스택 활용의 기본문제다.

문제 출력에 적혀있는데, 0일 경우 지울수 있는 수가 있다고 보장한다고 한다.

 

 

 

 

문제 접근

스택 활용의 기본문제

0일때 pop하면 된다.

"""
스택에 append한다.
그런데 0이고 뺄게 있다면 pop한다.
끝나고 최종 합 출력
"""
 
 
 
 
 

풀이

from math import ceil
import sys
input = sys.stdin.readline

"""
스택에 append한다.
그런데 0이고 뺄게 있다면 pop한다.
끝나고 최종 합 출력
"""

K = int(input())
arr = []

for i in range(K):
    x = int(input())
    if x==0:
        arr.pop()
    else:
        arr.append(x)
print(sum(arr))