https://www.acmicpc.net/problem/10773
1) 입력값: 테스트 케이스 T, 정수 T개
2) 출력값: 정수 중 남아있는 수의 합
3) 제약조건:
- 1 <= T <= 1,000,000
- 0 <= 정수 <= 1,000,000
- 정수가 0일 경우 직전 입력 값을 지운다.
4) 예외케이스: 없음
def zero():
n = int(input("Please enter the number of values: "))
num_provided = []
result = 0
count = 0
while count < n:
count += 1
value = int(input(f"Insert value ({count}/{n}): "))
if value == 0:
num_provided.pop()
else:
num_provided.append(value)
for i in num_provided:
result += i
print(result)
zero()
스택개념을 생각하면서 조건이 부합할때 pop()
메소드를 사용하는 식으로 구현했다.
이미 구현된 pop()
을 사용하지 않는다면 어떻게 구현하면 될까 고민해봤는데 마지막 값을 뺀 새로운 array를 만들어내는 방법이 있는 것 같다.
def pop(array):
return array[:-1]