문제설명:
양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수, solution을 완성해주세요.
function solution(x) {
let sum = 0;
let arr = String(x).split('');
for(let i = 0; i < arr.length; i++) {
sum = sum + Number(arr[i]);
}
if(x % sum === 0) {
return true;
}
return false;
}
문제풀이
양의 정수 x의 각 자릿수의 합을 더해야하기 때문에 문자열로 바꿔 배열의 형태로 만들어준 뒤 반복문을 통해 배열의 모든 요소에 접근하여 sum에 더해준다. if문을 통해 x가 sum으로 나눴을때 나머지가 0이면 true를 리턴해주고 아니면 false를 리턴해준다.