프로그래머스 Lv.1 '하샤드 수' 자바
Q. 양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나눠져야 한다.
예를 들어 18의 자릿수 합은 1 + 8 = 9 이고, 18은 9로 나눠 떨어지므로
18은 하샤드 수이다.
자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수 solution을 완성하시오.
class Solution {
public boolean solution(int x) {
boolean answer = true;
int sum = 0;
String[] num = Integer.toString(x).split("");
for (int i = 0; i < num.length; i++) {
sum += Integer.parseInt(num[i]);
}
if (x % sum == 0) {
answer = true;
} else {
answer = false;
}
return answer;
}
}
첫 번째로 int x를 문자열 배열로 변환한다.
이 때 문자열로 변환하여 배열로 정리해주는 toString(x).split("")을 사용한다.
다음으로 for문을 통해 하나씩 증가하도록 하여 자릿수를 모두 더해준다.
마지막으로 if문으로 x가 자릿수의 합 sum으로 나누어 떨어지면 true,
x가 sum으로 나누어 떨어지지 않으면 false를 return하도록 한다.
'Log > Coding Test' 카테고리의 다른 글
Day89_Programmers Lv.1 콜라츠 추측 Java (0) | 2023.12.25 |
---|---|
Day88_Programmers Lv.1 두 정수 사이의 합 Java (0) | 2023.12.25 |
Day86_Programmers Lv.1 '정수 내림차순으로 배치하기' Java (1) | 2023.12.19 |
Day85_Programmers Lv.1 '정수 제곱근 판별' Java (0) | 2023.12.19 |
Day84_Programmers Lv.1 자릿수 더하기 Java (0) | 2023.12.18 |