코독
코딩핥는 강아지
코독
전체 방문자
오늘
어제
  • 분류 전체보기 (24)
    • JAVASCRIPT (24)
      • PROGRAMMERS 0단계 (13)
      • PROGRAMMERS 1단계 (11)
    • JQUERY (0)
    • EFFECT (0)
    • HTML (0)
    • CSS (0)

블로그 메뉴

  • 홈
  • 태그
  • 방명록

최근 글

인기 글

최근 댓글

태그

  • 자바스크립트
  • 짝수
  • if()
  • JavaScript
  • programmers
  • for문
  • 배열
  • 1단계
  • Sort()
  • reduce()
  • filter()
  • 0단계
  • js
  • 프로그래머스
  • map()
  • push()
  • 정수
  • for()
  • 홀수
  • 자릿수 더하기

티스토리

hELLO · Designed By 정상우.
코독

코딩핥는 강아지

Javascript | programmers08 (프로그래머스 1단계 : 하샤드 수)
JAVASCRIPT/PROGRAMMERS 1단계

Javascript | programmers08 (프로그래머스 1단계 : 하샤드 수)

2022. 11. 3. 22:49

※ programmers 1단계 풀이 여덟 번째

하샤드 수


❍ 문제 설명

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

❍ 제한 조건

x는 1 이상, 10000 이하인 정수입니다.

❍ 입출력 예

arr return
10 true
12 true
11 false
13 false

❍ 나의 풀이

function solution(x) {
    var answer = true;
    
    // x를 문자열로 바꿔준다.
    let slice = x.toString();
    
    // 문자열로 바꾼 x를 각각 배열 안에 넣고 다시 숫자로 만들어준다.
    slice = [...slice].map(Number);
    
    // plus 에는 slice 안에있는 각 배열의 자릿수 합 값을 넣어준다.
    let plus = slice.reduce((a,b) => a + b, 0);
    // divi 에는 x에 plus 값을 나눴을 때 나머지 값을 넣어준다.
    let divi = x % plus;

    // if문을 써서 divi의 값이 0으로 떨어지면 answer에 true, 그게 아니라면 false를 대입한다.
    if(divi == 0){
        answer = true;
    } else {
        answer = false;
    }
    
    return answer;
}

❍ 다른 사람의 풀이

function solution(x) {
    // num 에 x 대입
    let num = x;
    // sum 에 0 대입
    let sum = 0;
  
    do {
        sum += x % 10;
        x = Math.floor(x / 10);
    } while (x > 0);

    return !(num % sum);
}

해석은 언제나 힘듭니다. 직접 해보고 알아오겠습니다.

'JAVASCRIPT > PROGRAMMERS 1단계' 카테고리의 다른 글

Javascript | programmers10 (프로그래머스 1단계 : 정수 내림차순으로 배치하기)  (5) 2022.11.08
Javascript | programmers09 (프로그래머스 1단계 : 정수 제곱근 판별)  (10) 2022.11.07
Javascript | programmers07 (프로그래머스 1단계 : 문자열을 정수로 바꾸기)  (6) 2022.11.02
Javascript | programmers06 (프로그래머스 1단계 : 문자열 내 p와 y의 개수)  (12) 2022.11.01
Javascript | programmers05 (프로그래머스 1단계 : 자연수 뒤집어 배열로 만들기)  (2) 2022.10.31
    'JAVASCRIPT/PROGRAMMERS 1단계' 카테고리의 다른 글
    • Javascript | programmers10 (프로그래머스 1단계 : 정수 내림차순으로 배치하기)
    • Javascript | programmers09 (프로그래머스 1단계 : 정수 제곱근 판별)
    • Javascript | programmers07 (프로그래머스 1단계 : 문자열을 정수로 바꾸기)
    • Javascript | programmers06 (프로그래머스 1단계 : 문자열 내 p와 y의 개수)
    코독
    코독
    코딩을 할짝할짝

    티스토리툴바