티스토리 뷰
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))
'🦖 Programming > Python' 카테고리의 다른 글
[Python] 백준 알고리즘 1966번 : 프린터 큐 (0) | 2022.10.04 |
---|---|
[Python] 백준 알고리즘 10866번 : 덱 (0) | 2022.10.04 |
[Python] 백준 알고리즘 10845번 : 큐 (0) | 2022.09.27 |
[Python] 백준 알고리즘 4889번 : 안정적인 문자열 (0) | 2022.09.23 |
[Python] 백준 알고리즘 1874번 : 스택 수열 (1) | 2022.09.23 |