Notice
Recent Posts
Recent Comments
Link
250x250
«   2025/02   »
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
Tags
more
Archives
Today
Total
관리 메뉴

거인의 코딩일지

[Lv.1_Java] 하샤드 수 본문

카테고리 없음

[Lv.1_Java] 하샤드 수

코딩거인 2023. 5. 4. 18:50
728x90

class Solution {
    public boolean solution(int x) {
        boolean answer = true;
        int numX = 0;
        String strX = Integer.toString(x);
        char[] charArr = strX.toCharArray();
        int[] intArr = new int[charArr.length];
        for(int i = 0; i < charArr.length; i++){
            intArr[i] = Character.getNumericValue(charArr[i]);
            numX += intArr[i]; 
        }
        if(x % numX ==0){
            answer = true;
        }else{
            answer = false; 
        }
        return answer;
    }
}

우선 이 문제를 보았을 때 int를 문자열로 바꾸어 주고 다시 String 를 char의 배열에 넣어준뒤 for 문을 통해 int 배열에 값을 넣어주고 numX 라는 변수에 배열의 모든 값을 더해준뒤 x에 나눴을때 나머지가 0이면 true를 아니면 false를 반환 하게 하였다! 결과는 클리어!!

하지만 다른 사람의 풀이를 보닌까 

String [] tmp = String.valueOf(num).split("");
    int sum=0;
        for(String s:tmp) {
            sum+=Integer.parseInt(s);
        }
         if(num%sum==0) {
            return true;
        } else {
            return false;
        }

이렇게 간단하게 풀수 있다는걸 알고 더 공부해야겠다는 생각이.... 들었다! 하핳...

728x90