숫자와 "Z"가 공백으로 구분되어 담긴 문자열이 주어집니다. 문자열에 있는 숫자를 차례대로 더하려고 합니다. 이 때 "Z"가 나오면 바로 전에 더했던 숫자를 뺀다는 뜻입니다. 숫자와 "Z"로 이루어진 문자열 s
가 주어질 때, 머쓱이가 구한 값을 return 하도록 solution 함수를 완성해보세요.
s
s
s
s
s
s
s | result |
---|---|
"1 2 Z 3" | 4 |
"10 20 30 40" | 100 |
"10 Z 20 Z 1" | 1 |
"10 Z 20 Z" | 0 |
"-1 -2 -3 Z" | -3 |
입출력 예 #1
입출력 예 #2
입출력 예 #3
입출력 예 #4, #5
설명 생략
def solution(s):
answer = 0
# 빈칸 별로 나누기
sum_str = s.split()
# 더할 숫자만 담을 빈 배열
sum_list = []
# 하나씩 뽑기
for idx, num in enumerate(sum_str):
# 문자 Z를 발변하면
if num == 'Z':
# Z앞의 숫자를 삭제
sum_list.remove(int(sum_str[idx-1]))
# 문자 Z가 아니라면
else:
# 숫자 추가
sum_list.append(int(num))
# 숫자 모두 더하기
answer = sum(sum_list)
return answer
https://school.programmers.co.kr/learn/courses/30/lessons/120853?language=python3