백준
[백준] 10773번 : 제로 - 파이썬(Python) - 우당탕탕 개발자 되기 프로젝트
우당탕탕 개발자
2023. 7. 21. 15:30
728x90
반응형
10773번: 제로
첫 번째 줄에 정수 K가 주어진다. (1 ≤ K ≤ 100,000) 이후 K개의 줄에 정수가 1개씩 주어진다. 정수는 0에서 1,000,000 사이의 값을 가지며, 정수가 "0" 일 경우에는 가장 최근에 쓴 수를 지우고, 아닐 경
www.acmicpc.net
1. 문제 설명
2. 풀이과정
- sys.stdin.readline() 함수를 사용하기 위해 sys 모듈을 불러온다. import sys
- 입력할 정수의 개수를 입력받는다. N = int(sys.stdin.readline())
- 입력받은 수를 저장할 스택을 리스트로 생성한다. stack = list()
- 입력받은 정수만큼 반복하며 for i in range(N)
- 저장할 숫자를 입력받는다. num = int(sys.stdin.readline())
- 만약 입력받은 값이 0이면 if (num == 0)
- 가장 최근에 쓴 수를 지운다. stack.pop()
- 반면에 입력받은 값이 0이 아니면 else
- 수를 적는다. stack.append(num)
- 스택에 저장되어 있는 값들의 합을 출력한다. 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
반응형