티스토리 뷰

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

 

10773번: 제로

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

www.acmicpc.net

 

 

 

👩‍💻문제 이해

0이 입력될 경우 가장 마지막에 들어온 숫자가 빠지게 되므로 Last In First Out 구조의 스택(stack)을 이용해 문제를 푼다.

 

 

 

👩‍💻stack 구조를 이용한 코드 : 성공🌈

import sys 
k = int(input())
li = []
for i in range(k):
    num = int(sys.stdin.readline())
    if num != 0:
        li.append(num)
    else:
        li.pop()

print(sum(li))
댓글
최근에 올라온 글
«   2024/09   »
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Total
Today
Yesterday