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;