class Solution {
public boolean solution(int x) {
boolean answer = true;
int sum = 0;
while(x >0) {
sum += (x%10);
x /= 10;
}
System.out.println(x%sum);
if(x%sum!=0) answer = false; //여기로 안들어가짐
return answer;
}
}
답이 항상 true로 나온다.
문제는 마지막에 if문으로 답이 false인지 체크할때 x변수를 사용해야하는데, while문에서 x /= 10
으로 x를 계속 업데이트하는것이었다.
반복문에서 사용하는 변수와 반복문 나와서 사용하는 변수를 구분했다.
class Solution {
public boolean solution(int x) {
boolean answer = true;
int sum = 0;
int temp =x;
while(x >0) {
sum += (x%10);
x /= 10;
}
System.out.println(x%sum);
if(temp%sum!=0) answer = false;
return answer;
}
}