Notice
Recent Posts
Recent Comments
Link
관리 메뉴

윤일무이

[JavaScript] 프로그래머스 코딩테스트 레벨 1 : 하샤드 수 본문

⚙️ 코딩테스트

[JavaScript] 프로그래머스 코딩테스트 레벨 1 : 하샤드 수

썸머몽 2023. 4. 6. 11:35
728x90

문제 및 제한사항

 

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

 

**제한사항**

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

 

풀이 방법

 

먼저 각 자릿수의 합을 구하기 위해 주어진 수를 문자로 바꿔주고, 빈 문자열로 나눈 후 각 요소를 Number화 해준다.

그러면 각 자릿수가 다 숫자가 된다. (1, 8) for문을 돌려서 인덱스들을 다 더해준 뒤, 이 값을 주어진 수로 나눴을 때 0인지 아닌지 판별한다.

이 때 삼항연산자를 사용했다.

 

코드

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