코딩테스트
[코딩테스트] 숨어있는 숫자의 덧셈 (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를 사용해도 훨씬 간단하게 했다.
난 숫자를 추출해야겠다고 생각해서 과정이 좀 더 많아졌는데
처음부터 문자로 나누어서 훨씬 간단해졌다.