[JS 알고리즘_27] 약수의 개수와 덧셈

이강윤·2022년 8월 9일
0

JS알고리즘

목록 보기
27/28
post-thumbnail

Q) 두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주세요.


나의 풀이

function countFn(num){
    let count = 0;
    
    for(let i=1; i<=num; i++){
       if(num % i === 0) count++;
    }
    return count;
}

function solution(left, right) {
    let answer = 0;
    
    for (let i=left; i<=right; i++) {
        let count = countFn(i)
        count % 2 ? answer -= i : answer += i
    }
    return answer
}
  1. left부터 right사이에 있는 숫자를 확인해야하므로 반복문으로 작성한다.
  2. 가독성을 위해 countFn으로 따로 함수를 만든다.
  3. countFn함수는 약수의 개수를 구하는 함수이다.
  4. 약수의 개수가 짝수이면 answer에 약수의 개수가 짝수인 값을 더하고 홀수라면 뺀다.
profile
멋진 FE개발자가 될거야 ✌

0개의 댓글