function solution(x) {
x=x.toString();
let answer = 0;
for (let i = 0; i < x.length; i++){
answer += Math.floor(x[i]);
}
console.log(answer)
return x % answer === 0 ? true : false;
}
처음에 봤을 때 아 이거 전처럼 toString과 Math.floor를 사용하면 되겠구나 생각했다.
다만 단점이 있다면 처리되는 속도가 느리다는 것. 이를 해결하기 위해 다른 사람들의 코드를 봤다.
function Harshad(n){
return !(n%(n+'').split('').reduce(function (i, sum) {return +sum + +i;}));
}
// 아래는 테스트로 출력해 보기 위한 코드입니다.
console.log(Harshad(18))
공통적으로 split를 사용했는데, 이전에 배웠던 것이었다.
역시,,, 이전에 배웠던 것이어도 기억에 잘 남아있지 않으면 사용하지 못하는 것 같다.
split은 간단하게 나누는 것이다.
- separator를 빈 문자열("")로 지정하면 반환되는 배열은 원본 문자의 모든 문자를 요소로 가집니다.
그렇단다,,, 그래서 저런 코드가 가능한 것. split을 머릿속에, 배열은 많이 사용하는 것이니, 배열과 관련된 메소드를 다시 한 번 살펴봐야겠다.
'코테' 카테고리의 다른 글
문자열 출력하기 (0) | 2024.11.27 |
---|---|
두 정수 사이의 합 (0) | 2024.10.02 |
정수 내림차순으로 배치하기 (0) | 2024.09.25 |
문자열을 정수로 바꾸기 (0) | 2024.09.06 |
자연수 뒤집어 배열로 만들기 (0) | 2024.08.29 |