[Programmers]약수의 개수와 덧셈

이묘·2022년 7월 18일
0

CodingTest

목록 보기
4/41
post-thumbnail

프로그래머스 코딩테스트 연습 1단계 '약수의 개수와 덧셈'

사실 이건 너무 쉬워서 정리라고하기도 뭐하니 가볍게 원리만 집고 넘어가자.

소스코드

function solution(left, right) {
    let answer = 0;


    // 약수의 갯수 구하기
    for(var i=left; i<=right; i++) {
        let idx = 1;
        let count = 0;
        while (idx <= i){
            if(i % idx == 0 ){
                // 조건에 맞으면 양수의 갯수를 센다
                count+= 1;
            }
            idx+= 1;
        }
        // 약수의 갯수 홀짝 판단
        count % 2 == 0 ? answer+=i : answer -= i; 
    }
    


    return answer;
}

result= solution(13, 17)
console.log(result)



코드리뷰

약수는 어떻게 구하는지 원리만 알면 간단하다.

약수 % (1부터 약수-1까지의 숫자) == 0
즉, 약수와 약수보다 작은 양수의 숫자를 나눴을 때 나머지가 0이되면 된다.

for 문으로 left부터 right까지의 숫자를 돌리고,
while문으로 조건에 맞을 때까지 count(약수의 갯수)를 센다.
그리고 그 약수의 갯수가 짝수면 answer에 더하고 홀수면 빼면된다.

profile
본질을 공부해야 응용도 하지 않을까

0개의 댓글