https://www.acmicpc.net/problem/10773
문제 :
첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000)
이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경우 해당 수를 쓴다.
정수가 "0"일 경우에 지울 수 있는 수가 있음을 보장할 수 있다.
생각한 솔루션 :
들어오는 수를 PUSH로 리스트에 받고, 0이 입력되면 POP. 최종 리스트에 있는 수를 모두 더한다.
k = int(input())
stack = []
for i in range(k):
num = int(input())
if num ==0:
stack.pop()
else:
stack.append()
print(sum(stack))
'👩💻 알고리즘 > 🐢 PYTHON' 카테고리의 다른 글
[스택 예제] 백준 10828번 (0) | 2024.07.09 |
---|---|
[스택 예제] 백준 9012번 (0) | 2024.07.07 |
배열을 numpy로 변환 (0) | 2023.09.19 |
arange 함수 (0) | 2023.09.19 |
온도 변환 (0) | 2023.09.16 |