오늘의하루

[프로그래머스 1단계 - JAVA] 하샤드 수 본문

JAVA

[프로그래머스 1단계 - JAVA] 하샤드 수

오늘의하루_master 2022. 9. 16. 16:18
 

프로그래머스

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

programmers.co.kr

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

풀이

class Solution {
    public boolean solution(int x) {
        String[] sArr = (""+x).split("");
        boolean answer = true;
        int y = method(sArr);
        if(x%y != 0){
            answer = false;
        }
        return answer;
    }
    static int method(String[] sArr){
        int y = 0;
        for(int i = 0; i < sArr.length; i++){
            y = y + Integer.parseInt(sArr[i]);
        }
        return y;
    }
}
  • 입력받은 정수 x를 String 배열로 만든다.
  • method는 String 배열을 숫자로 바꿔서 각 자리수를 더한 값을 반환한다.
  • x를 method에서 반환된 값으로 나눈 나머지가 0이면 true를 아니면 false를 반환
Comments