javascript/알고리즘
[프로그래머스]하샤드 수
소영
2021. 6. 29. 14:49
주어진 x의 자릿수가 x의 자릿수의 합으로 나누어져야 한다.
ex) x = 18 이면 1+8=9 이고 18/9의 나머지가 0이 되어야 함
입출력 예
10 | true |
12 | true |
11 | false |
13 | false |
1. x의 숫자를 문자형으로 변경한다 -> .toString();
ex) x=12345 -> x='12345'
2. 문자형으로 변경된 x를 개별의 숫자로 나눈다. -> .split(' ');
ex) x='12345' -> x=['1','2','3','4','5'];
3. 개별로 나눈 숫자를 x의 길이만큼 더한다.
4. 더한 값을 정수로 변환 -> parseInt();
5. x%(더한 값을 정수로 변환한 것) 이 0 이어야 true 리턴
function solution(x) {
var answer = true;
let num =0;
let string = x.toString();
let split = string.split('');
for(let i=0; i<split.length; i++){
num += parseInt(split[i]);
}
if(x%num===0){
return true;
}else if(x%num!==0){
return false;
}
}
테스트 통과 ^3^