728x90
문제-https://acmicpc.net/problem/10773
10773번: 제로
첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경
www.acmicpc.net
코드
K = int(input())
S=[]
for i in range(K):
N = int(input())
if(N==0):
S.pop()
else:
S.append(N)
print(sum(S))
| K | 입력받을 수 |
| S | 합칠 금액의 수 |
| N | 입력 받은 수 |
-K만큼의 수를 입력받아 리스트에 저장하도록 한다.
-이 때 리스트(S)를 사용하여 0이 입력되면 마지막 리스트 요소를 삭제하는 pop을, 0이 아니라면 뒤에 요소를 추가하는 append를 사용한다.
-마지막에는 리스트의 합을 구하주는 함수(sum())을 사용하여 답을 출력한다.
결과
input:
3
2
1
0
ouput:
2
728x90
'백준 문제 > 파이썬' 카테고리의 다른 글
| [백준] 런타임 에러 (OverflowError) (2) | 2023.10.13 |
|---|---|
| 백준 11399 ATM(python)-[sliver(4)] (2) | 2023.10.11 |
| 백준 2108 통계학(python)-[sliver(3)] (5) | 2023.10.04 |
| 백준 1181 단어 정렬(python)-[sliver(5)] (6) | 2023.09.26 |
| 백준 1940 주몽(python)-[sliver(4)] (1) | 2023.09.04 |