[프로그래머스] 하샤드 수

Choi Seong Jin·2022년 11월 30일
0

프로그래머스

목록 보기
21/33

문제 링크 : 하샤드 수

문제 설명

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

제한 조건

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


내 풀이

public boolean solution(int x) {
        boolean answer = true;
        int digit = 0;
        int temp = x;
        while(temp > 0){
            digit += temp % 10;
            temp /= 10;
        }
        return x % digit == 0;
    }

먼저 x의 각 자릿수의 합을 구한 후에, x를 각 자릿수의 합으로 나눈 나머지가 0인지 아닌지에 따라 true 나 false를 반환한다.

profile
백엔드 개발자 지망생입니다!

0개의 댓글