
이 문제는 어떤 정수 x가 하샤드 수가 되려면 x가 자기 자릿수의 합으로 나누어 떨어져야 합니다.
정수 x를 받아서 하샤드 수면 true 아니면 false를 반환하게 하는 문제입니다.
자릿수의 합을 구하기 위해 x % 10 -> 마지막 자릿수를 추출하고 x / 10 한 값을 더하여 answer 변수에 넣고 x는 원래 숫자를 보존하기 위해 sum 변수에 넣어두고 마지막에 sum % answer == 0이 되면 true 아니면 false를 반환하게 한다.
class Solution {
public boolean solution(int x) {
int answer = 0;
int sum = x;
while (x > 0){
answer += x%10;
x /= 10;
}
if (sum % answer == 0){
return true;
}
return false;
}
}
main 함수도 Solution 클래스 객체를 생성하고 solution 메서드가 boolean 반환타입으로 명시되어 있으므로 main 함수에서 참/거짓을 판단하는 boolean을 써야합니다.
-> int로 쓰면 오류
public class Main{
public static void main(String[] args) {
Solution sol = new Solution();
boolean result = sol.solution(11);
System.out.println(result);
}
}

11 -> 1 + 1 =2이다. 11 / 2을 하면 0이 아니므로 하샤드 수가 아님 -> false 반환
