[Level1] 허샤드 수

JMinkyoung·2021년 4월 9일
0

Programmers

목록 보기
15/32

문제

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

제한 조건

  • x는 1 이상, 10000 이하인 정수입니다.


    입출력 예
arrreturn
10true
12true
11false
13false

문제 풀이

문제에서 주어진 자연수 xString(x) 를 통해 문자열로 바꾼 후 .split('') 을 이용해서 배열에 한글자씩 넣어준다.
for문을 사용해서 만들어진 배열을 돌면서 sum 변수에 배열 값들의 합을 넣어준다. 이때 배열에 들어있는 값은 문자열이므로 *1 을 통해서 자연수로 만들어 주고 더해야 한다.

정답 코드 (내 풀이)

function solution(x) {

    let num = String(x).split('');
    let sum =0;
    for(let i in num){
        sum += num[i]*1;
    }

    return x%sum === 0 ? true : false;
}
profile
Frontend Developer

0개의 댓글