[PYTHON] 10773 제로

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

     

    10773번: 제로

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

    www.acmicpc.net

    문제 풀이

    • 입력값을 입력받는다
    • 만약 입력값이 0이면 리스트에 넣은 가장 최신값을 pop()시켜 제거한다.
    • 0이 아니면 리스트에 추가한다.
    • 그 리스트 요소들의 합을 출력한다.

    solution

    import sys
    K = int(sys.stdin.readline().strip())
    result = []
    for _ in range(K):
      number = int(sys.stdin.readline().strip())
      if number == 0: 
        result.pop()
      else:
        result.append(number)
    print(sum(result))

    댓글