develop/Python

[프로그래머스/파이썬] 컨트롤 제트

hsleeee 2023. 3. 31. 16:25
반응형
SMALL

[문제]

숫자와 "Z"가 공백으로 구분되어 담긴 문자열이 주어집니다. 
문자열에 있는 숫자를 차례대로 더하려고 합니다. 
이 때 "Z"가 나오면 바로 전에 더했던 숫자를 뺀다는 뜻입니다. 
숫자와 "Z"로 이루어진 문자열 s가 주어질 때, 머쓱이가 구한 값을 return 하도록 solution 함수를 완성해보세요.

[답안]

def solution(s):
    answer = 0
    array = s.split(' ')
    for i, v in enumerate(array):
        if v == 'Z':
            answer = answer - int(array[i - 1])
        else:
            answer += int(v) 
    
    return answer

[풀이]

 

공백으로 split한 array 배열을 저장한다.

enumerate를 사용하여 index와 value를 함께 가져온 for문을 실행하고

v가 'Z' 라면 answer에서 array[i -1] 값을 int로 형변환하여 빼준다.

아니라면 v를 int로 형변환하여 answer에 더해준다.

 

[문제 풀어보기]

https://school.programmers.co.kr/learn/courses/30/lessons/120853

반응형
LIST