[프로그래머스-자바스크립트] 하샤드수

차슈·2024년 4월 30일
1

프로그래머스

목록 보기
35/64
post-thumbnail
post-custom-banner

문제

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


입출력 예시

xreturn
10 true
12 true
11 false
13 false

풀이

function solution(x) {
  var answer = true;

  let arr = String(x).split("");
  let sum = 0;

  for (let i = 0; i < arr.length; i++) {
    sum += Number(arr[i]);
  }

  if (!(x % sum === 0)) {
    answer = false;
  }

  return answer;
}

String(x).split("");로 한번에 문자열을 분리하여 배열로 저장했다.
저장되었는지 궁금하면 각 줄마다 console.log쳐서 확인해보면 편리하다!

그리고 배열길이만큼 돌려서 다 더해주고 x를 sum으로 나눴을때 나머지가 0이 아니면 하샤드수가 아니므로 false 반환

post-custom-banner

0개의 댓글