문제 설명
문자열 my_string이 매개변수로 주어집니다. my_string안의 모든 자연수들의 합을 return하도록 solution 함수를 완성해주세요.
my_string을 split함수로 배열로 바꾸고 filter를 써서 숫자들만 출력해준 다음,
for문으로 배열 원소들의 합을 구하면 될 것이라 생각했는데 자꾸만 오류가 났다 !
대체 왜?
function solution(my_string) {
const arrNumber = my_string.split('').filter((n) => Number(n))
let sum = 0;
for(let i = 0; i < arrNumber.length; i++) {
sum += i
}
return sum;
}
i
는 반복문에서 arrNumber
의 index를 의미하기때문에 정답이 제대로 나오지 않은 것이다!
for문에서 i는 index값이란 걸 알게되었다!
내가 처음에 시도했던 거랑 비슷한 방법이지만 이렇게 하니 됐다.
split함수로 배열로 바꾸고, for문을 돌린 다음에 숫자들만 더하니까 정답!
function solution(my_string) {
const arrNumber = my_string.split('')
let sum = 0;
for(let i = 0; i < arrNumber.length; i++) {
if(Number(arrNumber[i])) sum += Number(arrNumber[i])
}
return sum;
}