하샤드 수

HeeSeong·2021년 1월 23일
0

프로그래머스

목록 보기
39/97
post-thumbnail

🔗 문제 링크

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


❔ 문제 설명


양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다.

예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다.

자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수, solution을 완성해주세요.


⚠️ 제한사항


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



💡 풀이 (사용언어 : Java)


class Solution {
    public boolean solution(int x) {
        // 정답, x를 복사한 변수
        int ssum = 0, copy = x;
        // x를 한자리씩 ssum에 더함, 10으로 계속 나누어 다음 자리 수로
        while (copy != 0) {
            ssum += copy % 10;
            copy /= 10;
        }
        return (x % ssum == 0) ? true : false;
    }
}
profile
끊임없이 성장하고 싶은 개발자

0개의 댓글