[파이썬3 코딩테스트] 숨어있는 숫자의 덧셈 (1)

Sy Rhee·2023년 1월 5일
0

문제 설명

문자열 my_string이 매개변수로 주어집니다. my_string안의 모든 자연수들의 합을 return하도록 solution 함수를 완성해주세요.

제한사항

1 ≤ my_string의 길이 ≤ 1,000
my_string은 소문자, 대문자 그리고 한자리 자연수로만 구성되어있습니다.

나의 풀이

isdigit 함수를 이용해서 문자열 안의 숫자를 판별.
숫자로 판별된 문자를 정수로 형변환한 뒤 answer 리스트에 넣는다.
answer 리스트의 합을 sum 함수를 이용하여 계산.

def solution(my_string):
	answer = []
    for i in range(len(my_string)):
    	if my_string[i].isdigit() is True]):
        	answer.append(int(my_string[i]))
    return sum(answer)

리스트 내포(List Comprehension)을 이용하여 아래와 같이 나타낼 수 있다.
(여기서 lambda 함수를 사용해도 괜찮다.)

def solution(my_string):
	return sum([int(my_string[i]) for i in range(len(my_string)) if my_string[i].isdigit() is True])

# lambda 함수 표현
solution = lambda my_string:sum([int(my_string[i]) for i in range(len(my_string)) if my_string[i].isdigit() is True])
profile
hello

0개의 댓글