[js] 숨어있는 숫자의 덧셈(1) (lv.0)

sookyoung.k·2024년 5월 25일
0
post-thumbnail

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

제한사항

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

나의 풀이

function solution(my_string) {
    return [...my_string]
        .filter((v) => !isNaN(v))
        .reduce((acc, cur) => {
            return (acc += +cur);
        }, 0);
}
  • isNaN을 통해서 문자인지 숫자인지 판별
  • reduce를 통해서 누적 덧셈값 구하기

다른 풀이

function solution(my_string) {
    const answer = my_string.replace(/[^0-9]/g, '')
                            .split('')
                            .reduce((acc, curr) => acc + Number(curr), 0);
    return answer;
}

정규식은 계속 공부해두는 것이 좋을 것 같아서 얘 때문에 따로 적는다!

  • replace(/[^0-9]/g, '')를 사용하여 숫자가 아닌 모든 문자를 제거한다.
    - /[^0-9]/g: 숫자 (0-9)아닌 모든 문자에 일치
profile
영차영차 😎

0개의 댓글