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

0

🐶 코딩테스트

목록 보기
8/13
post-thumbnail

🔷 🖱️여기 클릭하면 문제로 이동해요!

이 글은 문제를 정리하고 저의 풀이를 보여드리는 거예요. 실제로 문제를 보고 풀어보세요. 클릭! 클릭! 해보세요! 🖱️

🔷 문제

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

✅ 입출력 예시

🔷 내가 만든 로직

✅ solution()

  • 숫자를 자릿수별로 분리한다.
    • 숫자를 String으로 바꾼 다음 .split("")을 이용하여 각각 자릿수 별로 분리하여 <문자열 배열>에 넣는다.
  • for문을 이용하여 각 자릿수를 더한다.
  • 숫자 / 더한 각 자릿수 의 결과가 나누어 떨어지면 true를 반환, 아니면 false 를 반환한다.
    • if문과 % == 0을 이용하여 나누어 떨어지는 지 판단한다.

🔷 내가 만든 코드

class Solution {
    public boolean solution(int x) {
        boolean answer = false;

        String[] splittedNumbersArr = Integer.toString(x).split("");
        int sumSplittedNumbers = 0;
        for (String number : splittedNumbersArr)
            sumSplittedNumbers += Integer.parseInt(number);

        if (x%sumSplittedNumbers == 0)
            answer = true;

        return answer;
    }
}

🔷 나의 코드 결과

🔷 그림출처

희망누리님의 근로복지공단 대표 공식블로그 희망누리블로그의 [신기한 인도 수학] 인도수학, 인도 수학공식, 수학의 나라 인도게시글 보러가기 클릭! 🖱️

profile
몇 번을 넘어져도 앞으로 계속 나아가자

0개의 댓글