프로그래머스 숨어있는 숫자의 덧셈 (1) 자바스크립트 알고리즘 풀이
문제
나의 풀이
아이디어
- 주어진 문자열을 배열로 전개한 다음,
reduce
메서드를 통해 순회힌다. - 현재의 문자를 숫자로 형변환해 더한다. 만일 숫자가 아니라면 falsy 값인 NaN이 반환되므로 이때는 0으로 예외처리한다.
코드
function solution(my_string) { return [...my_string].reduce((total, v) => total + (Number(v) || 0), 0); }
다른 사람 풀이
function solution(my_string) {
const answer = my_string.replace(/[^0-9]/g, '')
.split('')
.reduce((acc, curr) => acc + Number(curr), 0);
return answer;
}
정규식을 이용해 숫자에 해당하는 부분만 걸러내어 더한 풀이