[Programmers #12947] - 하샤드 수

G_NooN·2024년 1월 5일
0

Algorithms

목록 보기
11/33
post-thumbnail

(Lv. 1) 하샤드 수 (문제 링크)

문제 설명

양의 정수 n이 n의 자릿수의 합으로 나누어지면 n을 하샤드 수라고 한다.
자연수 x를 입력 받아 x가 하샤드 수인지 검사하는 solution 함수를 완성하라.

제한 조건

  1. x는 1 이상, 10,000 이하인 정수다.

입출력 예시


해결 방법

  1. 각 자릿수의 합계를 저장할 변수를 선언한다.
  2. String()을 사용하여 x를 문자열로 변환한다.
  3. 문자열의 길이만큼 반복을 수행한다.
    3-1. Number()를 사용하여 각 자릿수의 값을 숫자로 변환한 뒤 합계에 더한다.
  4. if (x % 합계 !== 0) return false // 나머지가 0이 아니면 false

코드

function solution(x) {
  let answer = true; // 하샤드 수 여부 T/F
  let sum = 0; // 각 자릿수의 합계

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

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

  return answer;
}

주요 개념

profile
쥐눈(Jin Hoon)

0개의 댓글