코딩테스트

[코딩테스트] 숨어있는 숫자의 덧셈 (2)

홍시_코딩기록 2024. 4. 24. 23:08

 

 

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

 

 

📌 내 코드

function solution(my_string) {
    const number = my_string.replace(/[^0-9]/g, " ");
    const arr = number.split(' ').map(Number);
    const result = arr.reduce((prev, cur) => {
        return prev + cur;
    }, 0)
    return result;
}

- 문자열에서 숫자만 추출하고, 숫자 배열로 만들어서 모든 숫자를 더해주었다.

 

 

📌 다른 사람 코드

function solution(my_string) {
  return my_string.split(/\D+/).reduce((acc, cur) => acc + Number(cur), 0);
}

- 문자로 나누어 문자가 아닌 숫자만 남게하였고, reduce를 사용하였다.

- reduce를 사용 할 때 숫자로 바꿔줌.

 

 

- 같은 reduce를 사용해도 훨씬 간단하게 했다.

난 숫자를 추출해야겠다고 생각해서 과정이 좀 더 많아졌는데

처음부터 문자로 나누어서 훨씬 간단해졌다.