Koala - 15기/기초 알고리즘 스터디

[백준/Python] 10773번: 제로

greedi 2024. 7. 24. 18:36

https://www.acmicpc.net/problem/10773

BAEKJOON 10773번: 제로

문제풀이

드디어 문제에 자료구조를 적용합니다. 화이팅..

총 반복할 횟수를 알기위해 정수 K를 입력받고, stack이라는 변수명의 빈 리스트를 만듭니다.
K번 반복할 동안 정수 a를 입력받습니다. 이 때 a는 문제에 기술된 재민이가 기입하는 수이며, 잘못된 숫자를 기입할 때 마다 재현이는 0을 입력받기도 합니다. 
stack이 비어 있으면 각줄의 a를 stack에 집어 넣습니다.
단, a에 숫자 0을 입력받을 시엔 스택의 pop연산이 실행되어 마지막에 입력된 a가 삭제됩니다.
0이 아니라면 다시 a를 stack에 집어 넣습니다.
K번 반복이 완료되면 stack내에 있는 요소를 모두 더한 값을 출력하고 실행을 종료합니다.

문제코드

K=int(input())
stack=[]
for i in range(K):
    a=int(input())
    if not len(stack):
        stack.append(a)
    else:
        if a == 0:
            stack.pop()
        else:
            stack.append(a)
print(sum(stack))

감사합니다.