boolean answer = false;
true와 false로 반환해야하므로 boolean 사용
초기값을 false로 지정
int value = x;
int sum = 0;
양의 정수 x를 int 타입의 변수 value에 저장
자릿수의 합을 담아줄 int 타입의 변수 sum을 선언
while(x>0){
sum += x % 10;
x = x/10;
}
x는 양의 정수이므로 0이 되기 전까지 무한 반복
x를 10으로 나눈 나머지 값을 sum에 저장
x를 10으로 나눈 몫은 그대로 while문의 x 값이 됨
x가 0이면 while문 탈출
if(value % sum == 0){
answer = true;
}
만약 value값과 sum을 나눈 나머지가 0이 된다면(나누어떨어지는 수는 하샤드 수이기 때문에)
true를 반환
class Solution { public boolean solution(int x) { boolean answer = false; int value = x; int sum = 0; while(x>0){ sum += x % 10; x = x/10; } if(value % sum == 0){ answer = true; } return answer; } }