풀이:
function solution(x) {
return x % String(x).split('').reduce((a,b) => a + parseInt(b), 0) == 0 ? true:false;
}
일단 받은 정수값이 하샤드수라면 나머지값이 0 이 되기에
자릿수를 더하기 위해,
먼저 정수를 string 으로 바꾸어주고 split 해서 나눠준다음 reduce 를 사용해 누적값을 정수로 다시 바꾼값을
받은 정수 x 랑 나누었을때 나머지값이 0 이라면 True, 아니면 False 값을 리턴하게 했다.
수정:
function solution(x) {
return x % String(x).split('').reduce((a,b) => a + parseInt(b), 0)? false:true;
}
% 를 썻을때 이미 받는 값이 0 아니면 다른값이기에 좀더 짧아졋다.
다른사람 풀이
function solution(x) {
let num = x;
let sum = 0;
do {
sum += x%10;
x = Math.floor(x/10);
} while (x>0);
return !(num%sum);
}