본문 바로가기

프로그래머스

하샤드수

728x90
class Solution {
    public boolean solution(int x) {
        boolean answer = true;
        String num ="";
        num = Integer.toString(x);
        int sum =0;
        for(int i=0;i<num.length();i++)
        {
            sum+=num.charAt(i) - 48;
        }
        if(x%sum==0)
        {
            answer = true;
        }
        else
        {
            answer = false;
        }
        
        return answer;
    }
}

 

베스트코드(프로그래머스 출처)

public class HarshadNumber{
    public boolean isHarshad(int num){

    String[] temp = String.valueOf(num).split("");

    int sum = 0;
    for (String s : temp) {
        sum += Integer.parseInt(s);
    }

    if (num % sum == 0) {
            return true;
    } else {
      return false;
    }
    }

       // 아래는 테스트로 출력해 보기 위한 코드입니다.
    public static void  main(String[] args){
        HarshadNumber sn = new HarshadNumber();
        System.out.println(sn.isHarshad(18));
    }
}

역시 자바에세계는 무긍 무진하다.

split("")이걸로 한방에 int에서 String으로 바꾸었다.

 String[] temp = String.valueOf(num).split(""); 이부분 기억해야겠다.

728x90

'프로그래머스' 카테고리의 다른 글

행렬의덧셈  (0) 2022.12.26
나누어 떨어지는 숫자 배열  (0) 2022.12.26
없는숫자더하기  (0) 2022.12.21
문자열 다루기 기본  (0) 2022.12.21
두 정수 사이의 합  (0) 2022.12.19