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

jude·2023년 1월 6일
0

알고리즘 Lv.0

목록 보기
39/40
post-thumbnail

문제 설명

문자열 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합니다.

유의사항

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

나의 문제 풀이

const solution = str => {
  let result = 0;
  str.split('').forEach(str => {
    if (!isNaN(str)) {
      result += Number(str)
    }
  })

  return result;
}

참고할만한 다른 사람의 문제 풀이

function solution(my_string) {
    return my_string.replaceAll(/[^\d]/g, '').split('').map(v=>+v).reduce((a,v)=>a+v,0);
}
function solution(my_string) {
    const answer = my_string.replace(/[^0-9]/g, '')
                            .split('')
                            .reduce((acc, curr) => acc + Number(curr), 0);
    return answer;
}
profile
UI 화면 만드는걸 좋아하는 UI개발자입니다. 프론트엔드 개발 공부 중입니다. 공부한 부분을 블로그로 간략히 정리하는 편입니다.

0개의 댓글