[프로그래머스] Lv.0 숨어있는 숫자의 덧셈 (1)

Jiumn·2023년 1월 22일
0

[프로그래머스] Lv.0 숨어있는 숫자의 덧셈 (1)

문제 설명

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

제한사항

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

입출력 예

my_stringresult
"aAb1B2cC34oOp"10
"1a2b3c4d123"16

입출력 예 설명

입출력 예 #1

"aAb1B2cC34oOp"안의 한자리 자연수는 1, 2, 3, 4 입니다. 따라서 1 + 2 + 3 + 4 = 10 을 return합니다.

입출력 예 #2

"1a2b3c4d123Z"안의 한자리 자연수는 1, 2, 3, 4, 1, 2, 3 입니다. 따라서 1 + 2 + 3 + 4 + 1 + 2 + 3 = 16 을 return합니다.

유의사항

연속된 숫자도 각각 한 자리 숫자로 취급합니다.

풀이

문자열 안에 있는 자연수를 찾아내려면 정규 표현식을 사용해야 한다.
정규 표현식을 사용할 수 있게 해주는 re 모듈을 import 한다.

re.findall('찾고 싶은 정규 표현식', 문자열) 함수를 사용해 숫자만 새로운 배열에 할당한다.
하나의 숫자만 찾는 정규 표현식은 r'\d'이다.
숫자만 포함된 새로운 배열의 요소 전체를 sum 함수로 더한다.

import re

def solution(my_string):
    numbers = re.findall(r'\d', my_string)
    int_numbers = sum(numbers)
    return int_numbers
profile
Back-End Wep Developer. 꾸준함이 능력이다.

0개의 댓글