두 가지 방법의 해결법이 떠올랐고, 첫번째 방법은 매일 내가 하던방법 그리고 두번째 방법은 다른 사람들의 풀이를 보고서 해보고싶었으나 아직 제대로 해보지 못한 방법이었다. 이번 기회에 두 방법 모두 실행시켜보았다. 역시나 두번쨰 방법이 실행속도가 더 빠름을 알 수 있다.
package Lv_1;
public class 하샤드수 {
public boolean solution(int x) {
boolean answer = false;
int tmp = 0;
String[] arr = Integer.toString(x).split("");
for (String ar : arr) {
tmp += Integer.parseInt(ar);
}
if (x % tmp == 0) {
answer = true;
}
return answer;
}
public static boolean solution(int x) {
boolean answer = false;
int tmp = 0;
int copied_x = x;
while (copied_x > 0) {
tmp += copied_x % 10;
copied_x = copied_x / 10;
}
if (x % tmp == 0) {
answer = true;
}
return answer;
}
public static void main(String[] args) {
boolean result = solution(10);
System.out.println(result);
}
}
'Java > Programmers' 카테고리의 다른 글
[Lv.1]이상한 문자 만들기 (0) | 2023.01.21 |
---|---|
[Lv.1]같은 숫자는 싫어 (0) | 2023.01.21 |
[Lv.0]옹알이(1) (0) | 2023.01.18 |
[Lv.0]평행 (0) | 2023.01.18 |
[Lv.0]겹치는 선분의 길이 (0) | 2023.01.18 |
댓글