하샤드 수

민태영·2023년 5월 31일
0

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

function solution(x) {
//     받은 숫자형 매개변수를 배열에 담기위해 문자열로 변경
    let strNum = String(x);
    let arr = [];
    let sum = 0;
//     빈 배열에 매개변수의 각 요소를 담기
    for(let idx = 0; idx < strNum.length; idx++) {
        arr.push(strNum[idx]);
    }
//     각요소의 합친값을 위해 배열의 각 요소를 숫자형으로 변경하여 sum변수에 담기
    arr.forEach((x) =>{
        sum += parseInt(x);   
    })
//     strNum을 숫자형으로 바꿔 합친값으로 나머지 구하기
    let result = parseInt(strNum) % sum
    if(result === 0) {
        return true    
    } else {
        return false
    }
    
}
profile
꿈을 꾸는 개발자

0개의 댓글