하샤드 수 (연습문제 Lv1 / JS)
코테/프로그래머스

하샤드 수 (연습문제 Lv1 / JS)

반응형

https://programmers.co.kr/learn/courses/30/lessons/12947?language=javascript   

문제

하샤드 수는, 각 자리의 숫자를 개별로 더한 뒤 기존 숫자를 나누어 떨어지면 true 그렇지 않으면 false를 출력합니다.

코드

function solution(x) {
    return !(x % String(x).split('').reduce((a, b)=> Number(a) + Number(b)))
}

1. ! 를 붙이면 빠르게 boolean 값을 출력할 수 있습니다.

2. String과 split("")를 사용하여 각 자리의 숫자를 나누었습니다.

3. reduce로 각 배열의 숫자를 더해주지만, 배열의 요소들은 string 형태임으로 Number로 다시 바꿔주었습니다.

반응형