| 문제 설명 | 
| 양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수, solution을 완성해주세요. | 
| 제한 조건 | 
| x는 1 이상, 10000 이하인 정수입니다. | 

function solution(x) {
    var answer = true;
    let xarr = String(x).split('')  //입력값을 배열화시킨다.
    let totalxarr = 0;  //입력된 숫자를 다 더할 변수를 선언한다.
    for(i=0; i<xarr.length; i++) {  //배열화된 입력값을 더하기위한 for문
        totalxarr = totalxarr + Number(xarr[i]) //배열화된 입력값의 인덱스마다 다 더해준다.
    }
    if (x%totalxarr===0) {  //자릿수의 합으로 입력값이 나눠질 떄
        answer = true   //true반환
    } else {    //자릿수의 합으로 입력값이 나눠지지 않을 때
        answer = false  //false반환
    }
    return answer;
}
'1차 공부 > 알고리즘' 카테고리의 다른 글
| 콜라츠추측 (0) | 2022.11.23 | 
|---|---|
| 제일 작은 수 제거하기 (0) | 2022.11.23 | 
| 정수 제곱근 판별 (0) | 2022.11.23 | 
| 정수 내림차순으로 배치하기 (0) | 2022.11.23 | 
| 자연수 뒤집어 배열로 만들기 (0) | 2022.11.23 |