BOJ 10773 제로

LONGNEW·2021년 3월 5일
0

BOJ

목록 보기
188/333

https://www.acmicpc.net/problem/10773
시간 1초, 메모리 256MB
input :

  • K(1 ≤ K ≤ 100,000)
  • 정수(0 <= 정수 <= 1,000,000)
  • 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경우 해당 수를 쓴다.

output :

  • 적어 낸 수의 합을 출력

조건 :

  • 이렇게 모든 수를 받아 적은 후 그 수의 합을 알고 싶어 한다.

입력을 받은 값들을 배열에 저장을 한 후, 입력 조건 중 언제나 '0'이 입력 되었을 경우 지울 수 있는 수가 있다고 했으니 다른 조건은 필요가 없다.

0인 경우엔 가장 위에 존재하는 값을 제거하고(pop을 이용하였다.) 아닐 경우엔 그냥 추가해주자.

import sys

n = int(sys.stdin.readline())
data = []
for i in range(n):
    temp = int(sys.stdin.readline())
    if temp == 0:
        data.pop()
        continue
    data.append(temp)

print(sum(data))

0개의 댓글