Notice
Recent Posts
Recent Comments
Link
«   2025/01   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Tags more
Archives
Today
Total
관리 메뉴

luke

[프로그래머스] - 하샤드 수 본문

알고리즘문제/프로그래머스(Java)

[프로그래머스] - 하샤드 수

luke-king 2024. 1. 21. 18:23

 

 

 

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

 

프로그래머스

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

programmers.co.kr

 

 

 

 

 

문제.


 

 

 

 

풀이.


 

class Solution {
    public boolean solution(int x) {
        boolean answer = true;
        
        int sum = 0;
        String str = String.valueOf(x);
        String[] arr = str.split("");

        for (int i = 0; i < arr.length; i++) {
            sum += Integer.parseInt(arr[i]);
        }
        
        if (x % sum == 0) {
            return answer;
        } else {
            answer = false;
            return answer;
        }
        
    }
}

하샤드 수..??

사실 필자는 문과의 비전공이라.... 하샤드 수가 뭔지도 모르는 사람 중 1人.... 하지만 문제를 읽어보면 몰라도 쉽게 이해할 수 있어서 푸는데 크게 문제가 있지는 않았다!

1. x값에 주어진 수를 나누어 한자리씩 더해야 한다.

이 1번만 해결하면 술술 풀수 있다!

우선 숫자를 하나씩 나누기 위해 문자열로 바꾼뒤 split함수를 사용해 int형 변수에 더한 값을 넣어주었다.

이렇게만 하면 그다음은 조건식이라 x(주어진 값) % sum(x 주어진 값들의 한자릿수 합)의 몫이 0 일 때 true, 아닐 때 false를 반환하게 하는 식을 만들어주면 끝이다!