[Programmers] 숨어있는 숫자의 덧셈 (1)

그래도 해야지·2023년 4월 13일
0

Programmers

목록 보기
10/40
post-thumbnail

문제 설명
문자열 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;
}

0개의 댓글