본문 바로가기

알고리즘 코딩

자연수가 하샤드 수인지 판별하는 알고리즘

문제는 역시 제목 그대로이다. 자세한 문제는 아래와 같다.

https://school.programmers.co.kr/learn/courses/30/lessons/12947

 

 

나의 답안은 아래와 같다.

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

x = 18
console.log(solution(x))

 

이번 문제는 주차하고 집에 돌아오면서 생각해 보았는데 잘 떠올라 줘서 감사하다. 

여러 메서드를 섞어 쓰게 되었는데 느낀 점은, 메서드를 잘 알면 정말 편하리라는 점이다. 

복잡한 코드를 4분의1도 안되게 줄여 주고, 메서드 이름 덕분에 눈에도 잘 들어온다.

 

무엇보다 중요한 점은 가독성이 좋고 해서 그 메서드가 들어간 코드를 놓고 생각하고 응용하기가 편하다는 점이다.