0413 하샤드 수

곽경희·2022년 4월 16일
0

문제 설명

양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수, solution을 완성해주세요.

제한 조건

x는 1 이상, 10000 이하인 정수입니다.

입출력 예

코드

class Solution {
	public boolean solution(int x) {
    	boolean answer=true;
    	int a=0;
    	int b=x;
    	while(x>=1){
        	a+=x%10;
        	x/=10;
    	}
    	if(b%a==0){
        	return answer;
        }
    	else{
        	return false;
    	}
	}
}

풀이

x가 1보다 크거나 같을 때 a에 x%10을 더하면 a에 x의 일의자리 숫자가 들어가고 x를 x/10을 해준다. 만약 b%a가 0과 같으면 answer을 리턴해주고 아니라면 false를 리턴해준다.

0개의 댓글