Q) 양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수, solution을 완성해주세요.
풀이
function solution(x) {
let sum = 0
x.toString().split('').map((item) => sum += Number(item))
return (x % sum === 0) ? true : false
}
- 매개변수를 나눠서 합을 더해야하기 때문에 먼저 타입을 문자로 변경하고 그 문자를 나눈다. => x.toString().split('')
- 그 문자열을 map메소드를 통해 돌려 자리수의 합을 나타낸다. => sum
- x % sum이 나누어 떨어지면 true, 아니면 false를 return한다.