문제
양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수, solution을 완성해주세요.
arr return
10 true
12 true
11 false
13 false
풀이
package Programmers.level1;
public class problem7 {
public static void main(String[] args) {
problem7 pb7 = new problem7();
int x = 156;
boolean test = pb7.solution(x);
System.out.println(test);
}
public boolean solution(int x) {
boolean answer = true;
int sum = 0;
if(x > 0) {
String str = String.valueOf(x);
for(int i=0; i<str.length(); i++) {
sum = sum + Integer.parseInt(str.substring(i,i+1));
}
System.out.println(sum);
if(x % sum == 0){
answer = true;
}else{
answer = false;
}
}
return answer;
}
}
'Algorithm > Programmers(Java)' 카테고리의 다른 글
[Programmers] 자릿수 더하기 (0) | 2020.01.28 |
---|---|
[Programmers] 콜라츠 추측 (0) | 2020.01.28 |
[Programmers] 최대공약수와 최소공배수 (0) | 2020.01.28 |
[Programmers] 평균 구하기 (0) | 2020.01.28 |
[Programmers] 정수 내림차순으로 배치하기 (0) | 2020.01.28 |