728x90
작성한 코드
function findDivisor(number) {
let count = 0;
for(let i = 1; i <= number; i++) {
// 약수 임
if(number % i === 0) {
count++;
}
}
return count;
}
function solution(left, right) {
let answer = 0;
for(let i = left; i <= right; i++) {
// findDivisor함수로 1, 2, 3,,,, 순차적으로 나누어 떨어지는지 확인
let result = findDivisor(i);
// 약수의 개수가 짝수인지 홀 수 인지 판단
// 약수의 개수가 짝수인 수는 더하고
// 약수의 개수가 홀수인 수는 뺀 수를 리턴
if(result % 2 === 0 ) {
answer += i;
}
else {
answer -= i;
}
}
return answer;
}
다른 분 코드
function solution(left, right) {
var answer = 0;
for(let i = left; i <= right; i++) {
let count = 0;
for(let j = 1; j <= i; j++) {
if(i % j === 0) count++;
}
if(count % 2 === 0) answer += i;
else answer -= i;
}
return answer;
}
참고한 블로그 출처 :
https://drcode-devblog.tistory.com/213
'알고리즘, 자료구조 > 프로그래머스' 카테고리의 다른 글
프로그래머스/핸드폰 번호 가리기/javascript (0) | 2021.07.08 |
---|---|
프로그래머스/하샤드 수/javascript (0) | 2021.07.08 |
프로그래머스/3진법 뒤집기/javascript (0) | 2021.06.30 |
프로그래머스/예산/javascript (0) | 2021.06.29 |
프로그래머스/음양 더하기/javascript (0) | 2021.06.27 |