마토의 세상

MATO WORLD

Algorithm 알고리즘

[프로그래머스 Lv1]하샤드 수(JAVA)

jy-agnes-lee 2021. 8. 27. 21:03

[내가 푼 방식]

1. int를 String으로 변환한 후 원하는 위치의 값을 substring으로 잘라 구하고 이를 다시 int로 변환하여 합 변수에 더한다.

2. 나머지가 0인 경우와 아닌 경우로 나누어 TF 확인을 한다. 

class Solution {
    public boolean solution(int x) {
        String xstr = Integer.toString(x);
        int sum=0;
        for (int i = 0; i < xstr.length(); i++) {
            sum += Integer.valueOf(xstr.substring(i,i+1));
        }
        boolean answer = true;
        if(x%sum!=0){
            answer=false;
        }
        return answer;
    }
}

[실행 시간을 훨씬 오래 걸리지만 다른 방식]

int sum = String.valueOf(x).chars().map(ch -> ch - '0').sum();

return x % sum == 0;