꾸준하게
[JS코딩테스트] 약수의 합 본문
728x90
반응형
[나의 풀이]
function solution(n) {
let answer = 0;
for(let i = 1; i <= n; i++){
if(Number.isInteger(n / i)){
answer += n / i;
}
}
return answer;
}
* Number.isInteger()
정수인지 판별해주는 메서드.
[다른 풀이]
function solution(num) {
let sum = 0;
for (let i = 1; i <= num; i++) {
if (num % i === 0) sum += i
}
return sum
}
이 생각을 못했다.
나머지 값이 0인 값이 약수인데, 그 방법이 생각나질 않아서 Number.isInteger()를 썼다.
내 방식에 이 방법을 넣어보자.
function solution(n) {
let answer = 0;
for(let i = 1; i <= n; i++){
if(!n % i){
answer += n / i;
}
}
return answer;
}
if문 조건에 n%i === 0을 넣어도 되지만, 같은 값을 반환하는 !n%i로 대체했다.
728x90
반응형
'JS코딩테스트' 카테고리의 다른 글
[JS코딩테스트] 자릿수 더하기 (0) | 2023.03.23 |
---|---|
[JS코딩테스트] 짝수와 홀수 (0) | 2023.03.21 |
[JS코딩테스트] 평균 구하기 (0) | 2023.03.17 |
[JS코딩테스트] 배열 자르기 (0) | 2023.03.16 |
[JS코딩테스트] 배열 뒤집기 (0) | 2023.03.15 |