[Programmers] 하샤드 수

Fstone·2021년 1월 5일
0

#prepare Codingtest

목록 보기
18/19

문제 설명

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

문제 풀이

function solution(x) {
    return x % String(x).split("").reduce((acc, cur) => (acc + Number(cur)), 0) === 0 ? true : false;
}

사용 메소드

-String(n) : n을 문자열로 형변환한다.
-String.split(n) : n을 기준으로 문자열을 분할하여 배열로 반환한다.
-Array.reduce(reducer(acc, cur, curI, array), initValue) : reducer를 통해 변환한 배열의 요소를 반환한다.
-Number(n) : n을 숫자로 형변환한다.

0개의 댓글