본문 바로가기
Java/Programmers

[Lv.1]하샤드 수

by GLOWWW 2023. 1. 19.

두 가지 방법의 해결법이 떠올랐고, 첫번째 방법은 매일 내가 하던방법 그리고 두번째 방법은 다른 사람들의 풀이를 보고서 해보고싶었으나 아직 제대로 해보지 못한 방법이었다. 이번 기회에 두 방법 모두 실행시켜보았다. 역시나 두번쨰 방법이 실행속도가 더 빠름을 알 수 있다.

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

댓글