[프로그래머스] 하샤드 수

최연서·2022년 1월 19일

알고리즘

목록 보기
30/30
post-thumbnail

오늘의 문제

📌 하샤드 수

문제 설명

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


제한 조건

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

내 풀이

function solution(x) {
    let answer = true;
    let a = 0
    let b = x.toString() //x를 문자열로 바꿔서 변수 선언
    
    for (let i = 0; i < b.length; i++){ //b 길이만큼 반복
        a += parseInt(b[i]) //b 인덱스 i를 정수로 바꿔서 더해 주기
    }
    if (x % a === 0){ //x를 a로 나누어 떨어지면
        return answer; //true 반환
    }else{ //아니면
        return !answer; //false 반환
    }
}
profile
하고 싶은 것 하면서 삽니다

0개의 댓글