1차 공부/알고리즘

하샤드 수

공대탈출 2022. 11. 23. 19:52
문제 설명
양의 정수 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