본문 바로가기
Algorithm

[구현/수학] 백준 10773 제로 - Python

by jangThang 2022. 2. 2.
반응형

 

[ Contents ]

     

     

    1. 문제 (링크 참조)

     

    10773번: 제로

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

    www.acmicpc.net

     

     

     

    2. 문제 풀이

     입력받은 정수의 합을 구하는 문제입니다. 단, 0을 입력할 경우 최근 입력된 값을 빼줘해야 합니다.

     

    2022.01.19 - [Algorithm] - [Algorithm] 단골 1번 문제, 구현 / 수학

     

    [Algorithm] 단골 1번 문제, 구현 / 수학

    [ Contents ] 1. 구현  단순히 '구현'만 하면 되는 문제 유형입니다. 문제를 이해하고 입력에 맞춰 적절한 출력만 하면 됩니다. 특별한 알고리즘이나 프로그래밍적 기법 없이, 단순 제어문만 사용하

    star7sss.tistory.com

     0이 연속으로 입력될 경우에는 계속해서 입력된 값을 빼줘야 합니다.

    예를 들어, 2 - 3 - 1 - 0 - 0 의 출력값은 2입니다. 0이 두번 입력되었으므로, 1과 3을 빼줍니다.

     

     

     

    3. 코드

    # import sys
    # input = sys.stdin.readline
    
    K = int(input())
    numlist = []
    
    for i in range(K):
        n = int(input())
        if n == 0:
            numlist.pop()
        else:
            numlist.append(n)
    print(sum(numlist))

     list의 pop함수를 이용하면 쉽게 구현할 수 있습니다. pop() 함수는 맨 마지막 항목을 제거해줍니다.

     

     

     

    반응형

    댓글