function solution(my_string) {
let sum = 0;
for (let i = 0; i < my_string.length; i++) {
if (isNaN(my_string[i]) === false) {
sum += Number(my_string[i])
}
} return sum;
}
function solution(my_string) {
const num = my_string.split("");
let result = 0;
for(let i = 0; i < num.length; i++){
if(Number(num[i])) result += Number(num[i])
}
return result;
}
split 메서드를 이용하여 배열을 자르는 것 까지는 생각해 냈고 isNaN을 이용하여 배열이 숫자가 아닌 경우 false를 출력하는 것도 알게 되었다.
마지막 배열 안의 문자로 된 문자열들을 어떻게 숫자로 판별하는지 까지 생각을 하지 못했다.
(1)풀이 에서는 배열을 쪼갤 필요 없이 for로 배열을 훑으면서 조건으로 isNaN 메서드를 사용했을 때, false가 나온 경우 숫자로 변환해서 sum에 누적으로 더할 수 있도록 만든 알고리즘이다.
(2)풀이 에서는 내가 처음 생각한대로 split을 이용하여 배열을 쪼갰고 반복문의 조건을 바로 숫자로 변환해서 숫자인 객체들을 누적하여 결과를 return 하도록 만들었다.