코딩테스트 대비/BOJ

[Baekjoon/Python] 10773번: 제로 - 효과는 굉장했다!

bluetag_boy 2021. 10. 30. 02:24
반응형
 

10773번: 제로

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

www.acmicpc.net

알고리즘 분류

  • 구현
  • 자료 구조
  • 스택

 

SOLUTION

import sys

K = int(sys.stdin.readline())
zero_list = []

for _ in range(K):
    num = int(input())
    
    if num == 0: # 0이 입력으로 돌아올 때 마다 pop() 함수를 이용해 가장 최근에 들어온 수 제거
        zero_list.pop()

    else:
        zero_list.append(num)

print(sum(zero_list))