알고리즘/프로그래머스
[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;
}
}