양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수, solution을 완성해주세요.
x | return |
---|---|
10 | true |
12 | true |
11 | false |
13 | false |
function solution(x) {
var answer = true;
let arr = String(x).split("");
let sum = 0;
for (let i = 0; i < arr.length; i++) {
sum += Number(arr[i]);
}
if (!(x % sum === 0)) {
answer = false;
}
return answer;
}
String(x).split("");
로 한번에 문자열을 분리하여 배열로 저장했다.
저장되었는지 궁금하면 각 줄마다 console.log쳐서 확인해보면 편리하다!
그리고 배열길이만큼 돌려서 다 더해주고 x를 sum으로 나눴을때 나머지가 0이 아니면 하샤드수가 아니므로 false 반환