[Python]BaekJoon.AC

[Python]백준 BaekJoon.AC 10773 : 제로(deque)

스뇨잉 2022. 1. 21. 18:05
728x90
728x90

 

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

 

10773번: 제로

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

www.acmicpc.net

 

 

가장 최근에 넣은 스택 옆에 저장하고, 가장 최근에 넣은 스택을 꺼내오는 덱을 이용했다.

구현은 그리 어렵지 않아 이만 설명을 마친다. 코드로 이해하는 편이 빠를 것 같다.

 

 

 

from collections import deque
import sys

K = int(input())
deq = deque()
result = 0

for i in range(K):
    num = int(sys.stdin.readline())
    if num != 0:
        deq.append(num)
    else:
        deq.pop()

while deq:
    result = result + deq.pop()

print(result)

 

 

 

728x90
728x90