알고리즘/프로그래머스

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

E@st 2022. 9. 20. 19:54

문제

 

풀이

각 자릿수의 합을 구해서 x가 자릿수들의 합으로 나눠진다면 true를 리턴하면 되는 간단한 문제다. 스트림을 이용해서 풀어보았는데

x를 문자열로 바꿔준뒤 각 자리를 나눠줬고 그 뒤에 mapToInt메서드를 이용해 다시 int형으로 바꾸면서 더해주었다. 그리고 x를 더해준 값으로 나눠주고 나머지가 0이라면 true를 반환하게 하였다.

 

 

import java.util.Arrays;

class Solution {
    public boolean solution(int x) {

        int value =  Arrays.stream(String.valueOf(x).split("")).mapToInt(Integer::parseInt).sum();
        return x%value==0;
    }
}