양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수, solution을 완성해주세요.
class Solution {
public boolean solution(int x) {
boolean answer = true;
int n=0;
int a=x;
while(x>0){
n+=x%10;
x/=10;
}
answer=(a%n==0);
return answer;
}
}
각 자릿수를 구하기 위해서 while 문을 통해 구해주었고
x는 값이 변했으니 그전에 미리 구한 a 에 값을 통해 하샤드 수인지 판별해주었다.!!
'자바 알고리즘 문제' 카테고리의 다른 글
| 두 정수 사이의 합 (0) | 2024.05.24 |
|---|---|
| x만큼 간격이 있는 n개의 숫자 (0) | 2024.05.23 |
| 정수 제곱근 판별 (0) | 2024.05.20 |
| 정수 내림차순으로 배치하기 (0) | 2024.05.20 |
| 자연수 뒤집어 배열로 만들기 (0) | 2024.05.18 |