- 자연수 x가 0보다 작을 때까지 10으로 나눈 나머지 값을 sum에 더하고 x는 다시 10으로 나눈다.
- res에 원래 x값을 넣어주고
res%sum == 0
값이 참이면 true 반환 아니면 false를 반환한다.
/*
* 프로그래머스 Lv1 - 하샤드 수
* 문제링크: https://programmers.co.kr/learn/courses/30/lessons/12947
*/
class Solution {
public boolean solution(int x) {
int sum = 0;
int res = x;
while(x>0){
sum+=x%10;
x = x/10;
}
boolean answer = (res%sum == 0)?true:false;
return answer;
}
}
하샤드 수라는 것을 처음 들어서 문제 난이도가 어려울 것으로 예상하였으나 생각보다 쉽게 해결할 수 있었다.