본문 바로가기

백준 문제/파이썬

백준 10773 제로(python)-[sliver(4)]

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