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

Narcoker·2022년 8월 11일
0

코딩테스트

목록 보기
9/150

문제 설명

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

제한 조건

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

입출력 예

풀이

문자열로 변환해서 풀려다가 속도가 더 빠른 것으로 풀려고 정수형으로 유지하고 풀었다.

function solution(x) {
    let sum = 0;
    let num = x;
    while(num>0){
        sum += num % 10;
        num = Math.floor(num / 10);
    }
    if(x % sum === 0)
        return true;
    return false;
}

회고

문제를 제대로 읽지 않아서 소수인지 아닌지 판단하는 것으로 이해하고 풀어서 시간이 오래걸렸다.
문제를 제대로 읽자.

profile
열정, 끈기, 집념의 Frontend Developer

0개의 댓글