728x90
📃문제설명
문자열 my_string이 매개변수로 주어집니다.
my_string은 소문자, 대문자, 자연수로만 구성되어있습니다.
my_string안의 자연수들의 합을 return하도록 solution 함수를 완성해주세요.
📝제한사항
- 1 ≤ my_string의 길이 ≤ 1,000
- 1 ≤ my_string 안의 자연수 ≤ 1000
- 연속된 수는 하나의 숫자로 간주합니다.
- 000123과 같이 0이 선행하는 경우는 없습니다.
- 문자열에 자연수가 없는 경우 0을 return 해주세요.
🪧입출력 예
my_string | result |
"aAb1B2cC34oOp" | 37 |
"1a2b3c4d123Z" | 133 |
입출력 예 #1
- "aAb1B2cC34oOp"안의 자연수는 1, 2, 34 입니다. 따라서 1 + 2 + 34 = 37 을 return합니다.
입출력 예 #2
- "1a2b3c4d123Z"안의 자연수는 1, 2, 3, 4, 123 입니다. 따라서 1 + 2 + 3 + 4 + 123 = 133 을 return합니다.
💻코드
import re
def solution(my_string):
n= re.findall(r'\d+' ,my_string)
answer = sum(map(int,n))
return answer
더보기
🧑💻공부
re 모듈에 속한 findall 함수는 정규 표현식을 사용하여 문자열에서 패턴과 일치하는 모든 부분을 찾아 리스트로 반환하는 함수이다.
re.findall(pattern, string)
r'\d+' 가 의미하는 바는 나눠서 이해할 수 있다.
r 는 Raw string을 의미한다.
\d 는 숫자를 의미한다.
+ 는 앞의 패턴이 1번 이상 반복되어야 한다는 것을 의미한다.
즉 연속된 숫자를 찾아내는 정규표현식이다.
728x90
'🐍python3 > Programmers' 카테고리의 다른 글
프로그래머스[코딩테스트 입문]_삼각형의 완성조건 (2) (0) | 2023.06.04 |
---|---|
프로그래머스[코딩테스트 입문]_안전지대 (0) | 2023.06.04 |
프로그래머스[코딩테스트 입문]_다항식 더하기 (0) | 2023.06.04 |
프로그래머스[코딩테스트 입문]_최댓값 만들기 (2) (0) | 2023.06.04 |
프로그래머스[코딩테스트 입문]_캐릭터의 좌표 (0) | 2023.06.04 |