본문 바로가기

프로그래머스

프로그래머스 - 하샤드 수

class Solution {
public boolean solution(int x) {
boolean answer = true;
int eachTotal = eachTotal(x);

answer = x % eachTotal == 0 ? true : false;
return answer;
}

/**
* 각 자리수 합 구하기
* @param x
* @return
*/
public int eachTotal(int x) {
int sum = 0;
int nmg;

while(x > 0) {
nmg = x % 10;
sum += nmg;
x /= 10;
}

return sum;
}
}


다른 사람 코드 - String.valueOf(x);를 사용해 각 자리에 대한 접근을 좀 더 쉽게 했다.

class Solution {
public boolean solution(int x) {
boolean answer = true;

/**
* 각 자릿수에 대한 접근을 쉽게 하기 위해 int -> String으로
*/
String xStr = String.valueOf(x);
int sum = 0;

for (int i = 0; i < xStr.length(); i++) {
sum += xStr.charAt(i) - 48;
}

answer = x % sum == 0 ? true : false;
return answer;
}
}