하샤드 수 Lv. 1

박영준·2022년 11월 22일
0

코딩테스트

목록 보기
28/300
class Solution {
    public boolean solution(int x) {
        boolean answer = true;
        return answer;
    }
}

해결법

방법 1

class Solution {
    public boolean solution(int x) {
        boolean answer = true;
        
        int sum = 0;

        // 양의 정수 x 를 나누기 위해서, x 값을 저장해둠
        int num = x;
        
        // num이 0이 아닌 경우에만 while문에 머무름
        while (num != 0) {
            sum += num % 10;
            // 이 숫자의 나머지가 다시 생성되는 걸 끝내기위해, /10을 해줌(1/10 = 0.1이 되고 —> int 정수타입에서는 0으로 간주)
            num /= 10;
        }
        
        // num이 아닌, x인 이유?  num은 while문에서 이미 다뤄져서 계산된 값이 되어버렸음. 그래서 원래 값 x를 사용
        if (x % sum == 0) {
            return true;
        } else {
            return false;
        }
    }
}

하샤드 수 Lv. 1

profile
개발자로 거듭나기!

0개의 댓글