문제 설명
양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수, solution을 완성해주세요.
제한 조건
x
는 1 이상, 10000 이하인 정수입니다.
입출력 예
arr return 10 true 12 true 11 false 13 false
문제에서 주어진 자연수 x
를 String(x)
를 통해 문자열로 바꾼 후 .split('')
을 이용해서 배열에 한글자씩 넣어준다.
for문을 사용해서 만들어진 배열을 돌면서 sum 변수에 배열 값들의 합을 넣어준다. 이때 배열에 들어있는 값은 문자열이므로 *1
을 통해서 자연수로 만들어 주고 더해야 한다.
function solution(x) {
let num = String(x).split('');
let sum =0;
for(let i in num){
sum += num[i]*1;
}
return x%sum === 0 ? true : false;
}