자연수 N이 주어지면 각 자릿수를 더하고 반환하라.
function solution(n)
{
var answer = 0;
var num = String(n);
for(var i = 0; i< num.length; i++){
answer += Number(num[i]);
}
return answer;
}
- 각 자리의 수를 꺼내기 위해 n의 type을
String()
으로 바꾸어준다.- answer에
Number()
,parseInt()
로 숫자로 바꾸어 다 더한다.
function solution(n){
return (n+"").split("").reduce((acc, curr) => acc + parseInt(curr), 0)
}
(n+"")
- 자바스크립트에선 + 연산자 쓸때 피연산자중 하나가 문자열이라면 문자열이 아닌 피연산자도 문자열로 타입이 변환되서 문자열이 합친 값이된다.
- n+""은 숫자 + 문자열 형태이기에 문자열로 변환된다. 그리고 ""은 빈문자열이기때문에 영향이 없다.
- Stirng(n)으로 대체 가능합니다.
나머지
- split() 이용해 각 자리수를 쪼갠다. 예를들어 985를[9,6,5]로 쪼갠다.
- reduce를 이용해 각 자릿수합을 구한다. 여기서 cur은 문자열이기 때문에
parseInt(cur)
를 한다.- 0은 index