양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다.
ex) 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다.
function solution(x) {
let result = 0;
x = x.toString().split('');
for(let i=0; i<x.length; i++) {
result += Number(x[i]);
}
x = Number(x.join(""));
if (x % result === 0) {
return true;
} else {
return false;
}
}
// 자릿수의 합을 더해줄 변수를 만들어준다.
// 숫자인 x를 문자열로 변환해준 후 분할해준다.
// 반복문을 통해 자릿수를 더 해준다.
// x를 다시 숫자로 만들어 준 후에 나눠주면 된다.
숫자를 문자로 변경하고 분할하고, 다시 숫자로 변경하지 않으려고,
다른 변수를 만들어 할당하려고 했는데 할당이 제대로 되지 않는다....
어떻게 해야 더 간단하고 쉽게 작성할 수 있는지 고민해 봐야겠다.