public class Solution {
public boolean solution(int x) {
boolean answer = true;
int divideNum=0;
int tmpX = x;
while(tmpX!=0){
divideNum = divideNum+(tmpX%10);
tmpX=tmpX/10;
}
if (x % divideNum != 0) {
answer = false;
}
return answer;
}
}
https://school.programmers.co.kr/learn/courses/30/lessons/12947
나머지의 원리를 이용하여 각 자리수를 뽑았다.
X % 10을 하면 X의 일의 자리수를 구할 수 있다.
이후 100의 자리수를 구하고 싶다면 %100을 하면 된다. -> 이 뜻은 (x/10) %10 과 도 같은 말이다.
즉 X를 10으로 줄여나가면서 일의 자리수를 구하는 것이다.
예를들어 19라고치면
✔ 19%10 은 나머지 9 - > 일의 자리수 9 추출 성공! 10의 자리 수를 구하고 싶기 때문에 19/10 = 1 (int는 소수점을 표현하지 않는다.)
✔ 1%10은 나머지 1 -> 10의 자리수 1 추출 성공! 1/10 = 0 -> 즉 더이상 구할 수 있는 자리수는 없다.