본문 바로가기
공부하자/알고리즘

[프로그래머스] Lv.1 하샤드 수 java

by snbrin 2022. 4. 19.

https://programmers.co.kr/learn/courses/30/lessons/12947

 

코딩테스트 연습 - 하샤드 수

양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하

programmers.co.kr

 

문제

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

제한조건

x는 1이상, 10000이하인 정수

 

.java

class Solution {
    public boolean solution(int x) {
        int num = x;
        int sum = 0;
        
        while(num!=0){
        	//1의자리 값 구해서 더하기
            sum += num%10;
            //10의 자리
            num /= 10;
        }
        
        return x % sum == 0 ? true : false;
    }
}

 

실행 결과