Front-End

알고리즘 배워가기 ( 자릿수 더하기 ) 본문

카테고리 없음

알고리즘 배워가기 ( 자릿수 더하기 )

jeongsso 2022. 8. 10. 16:01
문제설명
자연수 N이 주어지면, N의 각 자릿수의 합을 구해서 return 하는 solution 함수를 만들어 주세요.
예를들어 N = 123이면 1 + 2 + 3 = 6을 return 하면 됩니다.

 

제한사항
  • N의 범위 : 100,000,000 이하의 자연수

 

예시
N answer
123 6
987 24

 

 

문제 분석
  • for문을 이용해서 i++로 lenght 길이 순서대로 더하는 방법을 써야할듯함.
  • answer+= 로 값을 더하고 더해주는 식으로 해야함

처음에 length로 간단하게 length의 순서대로 값을 더해주란 식으로 했으나 오류가 나서 찾아보니 

length가  숫자형을 지원하지않아서 숫자를 문자열로 바꿔서 length를 사용해야 한다고한다.

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

 

그렇다면, 숫자를 문자열로 바꿔야하는 함수를 찾아봐야한다.

test.toString()   

숫자를 문자열로 바꾸는 함수이다. 

var test = 12345;  //숫자
test = test.toString();  // 문자타입으로 변경해줌. '12345'

또는  ' '로 변경할 수도 있다.

var test = 12345;
test = test + ''; // 작은 따옴표가 뒤로가던 앞으로가던 결과는 동일하다. '12345'

 

코드답안
function solution(n){
    var answer = 0;
    let str=n.toString();
        
    for(let i = 0; i<str.length; i++){
        answer+=parseInt(str[i]);        
    }
    
    return answer;
}​

 

Comments