문제
알고리즘
- 정수 개수만큼 반복하여 쓴 돈의 수를 입력받는다.
- 잘못된 수를 불렀다면 스택에서 팝해준다.
- 정확한 수를 불렀다면 스택에 쓴돈의 수를 추가한다.
- 스택의 합을 출력한다.
코드
import sys
k = int(sys.stdin.readline())
stack = []
# 정수 개수만큼 반복한다.
for i in range(k):
# 쓴 돈의 수를 입력 받는다.
num = int(sys.stdin.readline())
# 잘못된 수를 불렀다면 스택에서 팝해준다.
if num == 0:
stack.pop()
# 정확한 수를 불렀다면 스택에 쓴 돈의 수를 추가한다.
else:
stack.append(num)
# 스택의 합을 출력한다.
print(sum(stack))
github
'CodingTest > Baekjoon' 카테고리의 다른 글
[baekjoon] 백준 11866번(파이썬): 요세푸스 문제 0 (0) | 2021.09.18 |
---|---|
[baekjoon] 백준 1966번(파이썬): 프린터 큐 (0) | 2021.09.17 |
[baekjoon] 백준 1918번(파이썬): 후위 표기식 (0) | 2021.09.16 |
[baekjoon] 백준 11656번(파이썬): 접미사 배열 (0) | 2021.09.14 |
[baekjoon] 백준 10824번(파이썬): 네 수 (0) | 2021.09.14 |