본문 바로가기

개발

[알고리즘 문제] 하샤드수



http://tryhelloworld.co.kr/challenge_codes/130



( 문제 ) Level2


양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다.

Harshad함수는 양의 정수 n을 매개변수로 입력받습니다. 이 n이 하샤드수인지 아닌지 판단하는 함수를 완성하세요.
예를들어 n이 10, 12, 18이면 True를 리턴 11, 13이면 False를 리턴하면 됩니다.





( 구현 - 자바 )


HarshadNumber.java


public class HarshadNumber{

public boolean isHarshad(int num){

   

String tmp= String.valueOf(num);

int sum = 0;

 

for (int i = 0; i < tmp.length(); i++) {

sum += Integer.parseInt(tmp.substring(i, i+1));

}

                return (num % sum == 0);

}

  

        // 아래는 테스트로 출력해 보기 위한 코드입니다.

public static void  main(String[] args){

HarshadNumber sn = new HarshadNumber();

System.out.println(sn.isHarshad(18));

}

}




( 결과 출력 )


true


실행시간: 68ms




맨 위로