양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수, solution을 완성해주세요.
x는 1 이상, 10000 이하인 정수입니다.
문자열로 변환해서 풀려다가 속도가 더 빠른 것으로 풀려고 정수형으로 유지하고 풀었다.
function solution(x) { let sum = 0; let num = x; while(num>0){ sum += num % 10; num = Math.floor(num / 10); } if(x % sum === 0) return true; return false; }
문제를 제대로 읽지 않아서 소수인지 아닌지 판단하는 것으로 이해하고 풀어서 시간이 오래걸렸다.
문제를 제대로 읽자.