알고리즘
프로그래머스 Level 1 -하샤드 수(Javascript)
또롱또
2022. 5. 13. 10:58
728x90
https://programmers.co.kr/learn/courses/30/lessons/12947
function solution(x) {
// 정답을 받을 변수
var answer = true;
// 합을 구할 변수
let sum = 0;
// 기존의 들어온 입력값을 보관할 변수
let newX = x;
// x > 0 일경우
while(x > 0){
// x에서 10을 나누고 남은 나머지값들
// x의 1의자리 숫자를 sum에 더해준다
sum += x%10;
// x를 10으로 나누면 어찌됬든 소수점이 나오는데, 나오는 소수점은 다 버린다.
x = Math.floor(x/10)
}
// 입력받은값을 숫자의 합으로 나눴을때, 나머지가 0이나오면 false (자바스크립트는 = false)
// 나머지는 true
newX % sum ? answer = false : answer = true;
return answer;
}
나는 그냥 숫자를 하나씩 풀어내면서 해결해 냈다.
아래는 다른사람의 정답코드이다. 한줄이라니..
function Harshad(n){
return !(n % (n + "").split("").reduce((a, b) => +b + +a ));
}
728x90