🪩/프로그래머스 코딩테스트

JavaScript 프로그래머스: 자릿수 더하기

S0 2024. 1. 12. 09:31

내일배움캠프: Node.js_4기

14일차 TIL

~오늘의 수강 과목~

1. 특강: 알고리즘 풀이 (강창민 튜터님)

 


 

문제 설명

 

 

function solution(...n)
{
    let sum = 0;
    for (let i = 0; i <= n.length; i++) {
        sum += n[i];
    }
    return sum;
}

처음 짠 코드

자릿수의 합을 구하려면 스프레드 오퍼레이터를 쓰면 되겠다고 단순하게 생각했다.

코드 실행 결과는 실패

 

 

function solution(n)
{
    let sum = 0;
    
    const arrStr = n.toString();
    const arrSpread = [...arrStr];
    
    for (let i = 0; i < arrSpread.length; i++) {
        sum += arrSpread[i];
    }
    return sum;
}

두번째 코드

자릿수를 더하려면 먼저 문자열화가 되어야한다는 힌트를 얻어 다시 작성했다.

값을 문자열로 바꿔주는 메서드인 toString() 사용하기

그러나 문제가 있었다! 이렇게 작성하면 처음의 입력값으로 다시 돌아온 셈이 된다.

 

 

function solution(n)
{
    let sum = 0;
    
    const arrStr = n.toString();
    const arrSpread = [...arrStr];
    
    for (let i = 0; i < arrSpread.length; i++) {
        sum += Number(arrSpread[i]);
    }
    return sum;
}

세번째 코드

문자열화 해준 값을 다시 정수로 돌려줘야 한다는 것을 잊고 있었다.

Number()를 사용해서 문자열을 다시 숫자로 변환해주었다.

 

~테스트 통과~

 

 

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr