본문 바로가기
알고리즘/백준 solved.ac PS

[백준][solved.ac][Silver 4][Python] 10773번 : 제로

by 빛밤하늘 2021. 6. 2.
반응형

밑의 링크는 백준에서의 문제 링크입니다.

 

10773번: 제로

첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경

www.acmicpc.net

 

 

 

 

 

 

 

 

파이썬 코드와 결과입니다.

# readline을 사용하기 위해 import합니다.
from sys import stdin

# 첫 번째 줄에 정수 K를 입력합니다.
# 1 <= K <= 100,000
# 정수형으로 변환합니다.
K = int(stdin.readline())
# 정수들을 저장할 리스트 변수를 선언합니다.
numbers = []

# K번 반복합니다.
for number_idx in range(K):
    # 정수를 1개 입력합니다.
    # 정수 0에서 1,000,000 사이의 값입니다.
    # 정수형으로 변환합니다.
    number = int(stdin.readline())

    # 입력한 숫자가 0이 아니라면
    if number != 0:
        # numbers 리스트 변수에 입력한 숫자를 넣어줍니다.
        numbers.append(number)
    # 입력한 숫자가 0이라면
    else:
        # numbers에 있는 숫자 중 맨 끝에 있는 숫자를 빼냅니다.
        numbers.pop()

# numbers에 있는 숫자의 합을 출력합니다.
print(sum(numbers))

결과

 

 

 

※ 궁금한 부분, 이상한 점 및 오타는 댓글에 부탁드립니다.

※ 더 효율적이고 빠른 정답을 환영합니다.

반응형

댓글