저장을 습관화
프로그래머스 LV.1 하샤드 수 본문
프로그래머스 LV.1 하샤드 수
https://school.programmers.co.kr/learn/courses/30/lessons/12947
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
1. 문제 명
하샤드 수
2. 문제 설명
양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하샤드 수인지 아닌지 검사하는 함수, solution을 완성해주세요.
3. 제한 사항
- x는 1 이상, 10000 이하인 정수입니다.
4. 예시
x | return |
10 | true |
12 | true |
11 | false |
13 | false |
5. 기본 제공 코드
function solution(x) {
var answer = true;
return answer;
}
6. 제출한 내 답
const solution = (x) => {
let sum = [...(x + "")].reduce((a, b) => {
return a + +b;
}, 0);
return x % sum === 0 ? true : false;
};
6-2. VSC에 작성한 내용
const solution = (x) => {
// 사용할것 삼항연산자, reduce, join
let sum = [...(x + "")].reduce((a, b) => {
return a + +b;
}, 0);
return x % sum === 0 ? true : false;
};
// 테스트
console.log(solution(10));
console.log(solution(13));
7. 특이사항
없음
8. 다른 사람이 작성한 답
8-1.
function solution(x) {
let num = x;
let sum = 0;
do {
sum += x%10;
x = Math.floor(x/10);
} while (x>0);
return !(num%sum);
}
8-2.
function Harshad(n){
return !(n % (n + "").split("").reduce((a, b) => +b + +a ));
}
// 아래는 테스트로 출력해 보기 위한 코드입니다.
console.log(Harshad(148))
'코딩 테스트 > 프로그래머스 - 자바스크립트' 카테고리의 다른 글
프로그래머스 LV.0 머쓱이보다 키 큰 사람 (0) | 2023.09.14 |
---|---|
프로그래머스 LV.1 콜라츠 추측 (0) | 2023.09.14 |
프로그래머스 LV.1 가운데 글자 가져오기 (0) | 2023.09.14 |
프로그래머스 LV.1 문자열 내 p와 y의 개수 (0) | 2023.09.14 |
프로그래머스 LV.0 문자열안에 문자열 (0) | 2023.09.14 |