[프로그래머스] 코딩테스트 연습 - 11

krkorklo·2022년 1월 27일
0

프로그래머스

목록 보기
11/78

level 1 - 약수의 개수와 덧셈

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

입출력 예시
left : 13
right : 17
-> 43

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

function solution(left, right) {
    var answer = 0;
    for (var n=left; n<right+1; n++) {
      countDiv(n) % 2 == 0 ? answer += n : answer -= n;
    }
    return answer;
}

처음에 count 함수에서 num이 1인 경우를 생각 못하고 계산했다가 실패해서 다시 했다.

0개의 댓글