코딩테스트/Programmers (프로그래머스)
[프로그래머스] 하샤드 수 - Javascript (Lv.1)
지윤공원🌳
2021. 4. 11. 18:17
728x90
📖 문제 설명
양의 정수 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;
let arr = String(x).split('');
let num = arr.reduce((a, b) => Number(a) + Number(b));
if(x % num != 0){
return false;
}
return answer;
}
🎤 코드 설명
- 입력받은 숫자 x를 문자열로 바꾸고 split('')함수를 통해 배열로 바꿉니다.
- reduce() 함수로 배열의 합을 구합니다. (15 -> 1 + 5 -> 6)
- x를 위에서 구한 값으로 나눴을 때 나머지가 0이 아니면 false, 나머지가 0이면 true를 return 합니다.
📜 채점 결과
정확성: 100.0
합계: 100.0 / 100.0
💬 배운 것
- reduce()와 split()에 대해 더 잘 알게 되었습니다.
코딩테스트 연습 - 하샤드 수
양의 정수 x가 하샤드 수이려면 x의 자릿수의 합으로 x가 나누어져야 합니다. 예를 들어 18의 자릿수 합은 1+8=9이고, 18은 9로 나누어 떨어지므로 18은 하샤드 수입니다. 자연수 x를 입력받아 x가 하
programmers.co.kr
728x90