<aside>
💬 lv0
, 요구사항 구현
주어진 문자열의 숫자를 모두 더하는 solution 함수를 완성해주세요.
입력 | 출력 |
---|---|
'1hel2lo3' | 6 |
'1q2w3e4r' | 10 |
'1hel2lo3'에서 숫자는 1과 2, 3입니다. 이 숫자를 모두 더하면 6이 됩니다.
</aside>
def solution(data):
return sum(map(int,filter(str.isdigit, data))) **#1 문자열 필터링**
filter
함수를 사용하여 주어진 리스트 data
에서 숫자로만 이루어진 문자열을 찾습니다. str.isdigit
함수는 문자열이 모두 숫자인지 여부를 판단하는 함수입니다.map
함수를 사용하여 이전 단계에서 필터링한 숫자로만 이루어진 문자열을 숫자로 변환합니다. int
함수를 사용하여 문자열을 정수로 변환합니다.sum
을 통해 변환된 숫자들의 합을 계산합니다.isdigit
기본 형태: 문자열.isdigit()
개념: isdigit
메서드는 문자열의 모든 문자가 숫자인지 여부를 확인합니다.숫자로만 이루어져 있으면 True
를 반환하고, 그렇지 않으면 False
를 반환합니다.
number_str = "12345"
is_all_digits = number_str.isdigit()
print(is_all_digits)
# 출력: True
def solution(data):
return sum(map(int, [i for i in data if i.isdigit()]))
data
에서 숫자로만 이루어진 문자열을 찾습니다. isdigit
메서드를 사용하여 각 요소가 숫자로만 이루어져 있는지를 판별합니다.map
함수를 사용하여 이전 단계에서 필터링한 숫자로만 이루어진 문자열을 숫자로 변환합니다. int
함수를 사용하여 문자열을 정수로 변환합니다.sum
을 통해 변환된 숫자들의 합을 계산합니다.map
기본 형태: map(함수, 순회 가능한 객체)
개념: map
함수는 주어진 함수를 순회 가능한 객체의 각 요소에 적용하여 새로운 리스트를 반환합니다.
numbers = [1, 2, 3, 4, 5]
squared_numbers = list(map(lambda x: x**2, numbers))
print(squared_numbers)
# 출력: [1, 4, 9, 16, 25]