[BOJ 10773]제로(Python)

Gooder·2021년 4월 18일
0

알고리즘_문제풀기

목록 보기
7/25

문제링크

BOJ10773제로

풀이 전 계획 및 생각

0을 부른 경우에 가장 최근에 쓴 수를 지운다는 문장에서 스택을 사용하면 되겠다는 생각을 했다.
차례대로 입력을 받으면서 0인 경우에 stack에서 pop하고 0이 아닌 경우에 stack에 push했다.
입력이 끝나면 내장함수인 sum을 이용해서 총합을 구했다.

풀이

import sys
k = int(input())
stack = []
for _ in range(k):
    n = int(sys.stdin.readline())
    if n == 0:
        stack.pop()
    else:
        stack.append(n)

print(sum(stack))

풀이하면서 막혔던 점과 고민했던 점

막혔던 점은 없었다. 가장 큰 값이나 가장 작은 값을 삭제했어야하는 경우에는 heap을 사용하는게 제일 좋았을 것 같다는 생각을 했다.

풀이 후 알게된 개념과 소감

새롭게 알게된 것은 없다.

profile
세상을 변화시킬 신스틸러 서비스를 만들고싶은 개발자 Gooder 입니다.

0개의 댓글