비버놀로지

[Programmers 프로그래머스] 12947 하샤드 수 본문

ALGORITM/JAVA

[Programmers 프로그래머스] 12947 하샤드 수

KUNDUZ 2021. 1. 8. 10:14
728x90

programmers.co.kr/learn/courses/30/lessons/12947

 

코딩테스트 연습 - 하샤드 수

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

programmers.co.kr

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

 

먼저 입력값을 String으로 변환해주어, 각각의 자리를 배열로 만들어 준다.

그리고 각 자릿수를 합해서 sum 값을 저장해 주고, sum값을 입력값을 나누어 0이 된다면 true를 0이 아니라면 false를 출력할 수 있도록 했다.

import java.util.Arrays;


class Solution {
    public boolean solution(int x) {
		boolean answer = true;
		String s=String.valueOf(x);
		int arr[]=new int[s.length()];
		for (int i = 0; i < s.length(); i++) {
			arr[i]=s.charAt(i)-'0';
		}
		int sum=Arrays.stream(arr).sum();
		if(x%sum==0) {
			answer=true;
		}else {
			answer=false;
		}
        return answer;
    }
}
728x90
Comments