Front-End
알고리즘 배워가기 ( 자릿수 더하기 ) 본문
문제설명
자연수 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