728x90
반응형
하샤드 수
설명
양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야
합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어
떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하샤드 수인지
아닌지 검사하는 함수, solution을 완성해주세요.
arr | return |
---|---|
10 | true |
12 | true |
11 | false |
13 | false |
풀이
function solution(x) {
let a = 0;
let sum = String(x).split('');
for(let i=0; i <sum.length; i++) {
a += Number(sum[i]);
};
if(x%a==0) return true;
else return false;
}
해설
자릿수를 수하기 위해 변수 sum을 선언하고 매개변수 x를 String메소드로
문자열로 변환하고 split로 쪼개서 sum에 저장합니다. 반복문을 사용해
sum의 배열 길이만큼 반복하도록 하고 배열 속 수를 Number 메소드를
사용해서 문자열을 숫자로 변환해 변수 a에 저장하고 조건문을 사용해서
x의 수를 a로 나눴을 때 나누어 떨어지면 true를 반환하고 그게 아니라면
false를 반환하게 하였습니다.
반응형
'프로그래머스' 카테고리의 다른 글
[programmers]약수의 합 (3) | 2022.11.02 |
---|---|
[programmers]짝수와 홀수 (1) | 2022.11.02 |
[programmers]없는 수 더하기 (2) | 2022.11.01 |
[programmers]내적 (2) | 2022.10.30 |
[programmers] 음향 더하기 (3) | 2022.10.30 |