<aside> 💬 lv0, 요구사항 구현

문자열 덧셈

문제 설명

주어진 문자열의 숫자를 모두 더하는 solution 함수를 완성해주세요.


제한 사항


입출력 예

입력 출력
'1hel2lo3' 6
'1q2w3e4r' 10

입출력 설명

'1hel2lo3'에서 숫자는 1과 2, 3입니다. 이 숫자를 모두 더하면 6이 됩니다.

</aside>

😺 풀이 1. 문자열 필터링

def solution(data):
    return sum(map(int,filter(str.isdigit, data))) **#1 문자열 필터링**

단계별 풀이 전략

  1. 문자열 필터링
    1. filter 함수를 사용하여 주어진 리스트 data에서 숫자로만 이루어진 문자열을 찾습니다. str.isdigit 함수는 문자열이 모두 숫자인지 여부를 판단하는 함수입니다.
    2. map 함수를 사용하여 이전 단계에서 필터링한 숫자로만 이루어진 문자열을 숫자로 변환합니다. int 함수를 사용하여 문자열을 정수로 변환합니다.
    3. sum 을 통해 변환된 숫자들의 합을 계산합니다.

알아둬야 할 개념

isdigit

풀이 2. 문자열 필터링

def solution(data):
    return sum(map(int, [i for i in data if i.isdigit()]))

단계별 풀이 전략

  1. 문자열 필터링
    1. 리스트 컴프리헨션을 사용하여 주어진 리스트 data에서 숫자로만 이루어진 문자열을 찾습니다. isdigit 메서드를 사용하여 각 요소가 숫자로만 이루어져 있는지를 판별합니다.
    2. map 함수를 사용하여 이전 단계에서 필터링한 숫자로만 이루어진 문자열을 숫자로 변환합니다. int 함수를 사용하여 문자열을 정수로 변환합니다.
    3. sum 을 통해 변환된 숫자들의 합을 계산합니다.

알아둬야 할 개념

map