본문 바로가기

Programmers

[JAVA] Lv.1 하샤드 수

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

하샤드 수

양의 정수 x가 x의 각 자릿수의 합으로 나누어 떨어지는 지 판단하여 true / false로 반환하는 문제입니다

 

 

풀이

1. x를 10으로 나눈 나머지를 구하고 sum에 더한다

2. x에 x를 10으로 나눈 몫을 저장한다

3. x가 0이 될 때까지 반복

4. a가 sum으로 나누어 떨어지면 true 반환, 나누어 떨어지지 않으면 false 반환

class Solution {
    public boolean solution(int x) {
        int sum = 0;
        int a = x;
        
        while (x>0) {
            sum += x % 10;
            x /= 10;
        }
        
        return (a % sum == 0 ? true : false);
    }
}