본문 바로가기
백준

[백준] 10773번 : 제로 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트

by 우당탕탕 개발자 2023. 7. 21.
728x90
반응형

 

 

10773번: 제로

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

www.acmicpc.net

 

1. 문제 설명

2. 풀이과정

  1. sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys
  2. 입력할 정수의 개수를 입력받는다. N = int(sys.stdin.readline())
  3. 입력받은 수를 저장할 스택을 리스트로 생성한다. stack = list()
  4. 입력받은 정수만큼 반복하며 for i in range(N)
  5. 저장할 숫자를 입력받는다. num = int(sys.stdin.readline())
  6. 만약 입력받은 값이 0이면 if (num == 0)
  7. 가장 최근에 쓴 수를 지운다. stack.pop()
  8. 반면에 입력받은 값이 0이 아니면 else
  9. 수를 적는다. stack.append(num)
  10. 스택에 저장되어 있는 값들의 합을 출력한다. print(sum(stack))
반응형

3. 소스코드

import sys

N = int(sys.stdin.readline())

stack = list()
for i in range(N):
    num = int(sys.stdin.readline())
    
    if (num == 0):
        stack.pop()
    else:
        stack.append(num)
        
print(sum(stack))
728x90
반응형