본문 바로가기

Coding Test/Programmers

[프로그래머스/JavaScript] 코딩 테스트 풀이 (문제 96 - 하샤드 수)

728x90

 

# 문제

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



# 답안

// 1. 입력: 양의 정수 x 
// 2. 출력: true, false

// sum = 0
// x를 문자열로 만들고, split으로 분리해서 배열로 만들고, ex) ['1', '0']
// 반복문 돌려서 숫자로 만들고 각 자리수를 sum에 더하기
//( x % sum === 0 ) ? true : false

function solution(x) {
    let arr = x.toString().split('');
    let sum = 0;
    for(let i = 0; i < arr.length; i++){
        sum += Number(arr[i])
    }
    return (x % sum === 0) ? true : false;
}
728x90