문제 설명 |
양의 정수 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 |