알고리즘

스택 #백준 10773

현쥬스주스 2021. 3. 15. 20:43

www.acmicpc.net/problem/10773

 

10773번: 제로

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

www.acmicpc.net

[ 문제 해결 방법 ]

 

문제 내용대로 0이아닌 숫자가 입력되면 배열에 넣어주고 0이 입력되면 가장 마지막에 저장된 배열의 수를 삭제해준 후

배열에 있는 모든 값을 더한 결과를 출력해주면 된다.

 

[ 소스코드]

 

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

for i in range(n) :
  chk = int(input())
  

  if chk == 0 :
    del arr[-1]
  else :
    arr.append(chk)
print(sum(arr))