문제) 양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수, solution을 완성해주세요.
function solution(x) {
// 받은 숫자형 매개변수를 배열에 담기위해 문자열로 변경
let strNum = String(x);
let arr = [];
let sum = 0;
// 빈 배열에 매개변수의 각 요소를 담기
for(let idx = 0; idx < strNum.length; idx++) {
arr.push(strNum[idx]);
}
// 각요소의 합친값을 위해 배열의 각 요소를 숫자형으로 변경하여 sum변수에 담기
arr.forEach((x) =>{
sum += parseInt(x);
})
// strNum을 숫자형으로 바꿔 합친값으로 나머지 구하기
let result = parseInt(strNum) % sum
if(result === 0) {
return true
} else {
return false
}
}