🧡문제 설명

문자열 my_string이 매개변수로 주어집니다. my_string은 소문자, 대문자, 자연수로만 구성되어있습니다. my_string안의 자연수들의 합을 return하도록 solution 함수를 완성해주세요.


💛제한사항

  • 1 ≤ my_string의 길이 ≤ 1,000
  • 1 ≤ my_string 안의 자연수 ≤ 1000
  • 연속된 수는 하나의 숫자로 간주합니다.
  • 000123과 같이 0이 선행하는 경우는 없습니다.

💚입출력 예

my_stringresult
"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합니다.

💜나의 풀이

function solution(my_string) {
    let result = 0
    for(let i = 0 ; i < my_string.length;i++) {
        // 이번 반복의 연속되는 숫자를 문자열로 취득
        let thisNum = ''
        while(!Number.isNaN(Number(my_string[i]))) {
            thisNum+= my_string[i]
            i++
        }
        // 문자가 온 경우 취득되었던 숫자를 Number형으로 변환 후 result에 더함
        result+= +thisNum
    }
    return result
}
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글