알고리즘 문제

알고리즘 문제 js 41- 약수의 개수와 덧셈

<zinny/> 2022. 2. 16. 11:36
728x90

내가 쓴 코드 

function solution(left, right) {
    let count = 0;
    let sum = 0
    for(let i =left; i <=right; i++){
        for(let j =1; j<=i; j++){
            if(i%j == 0){
                count +=1
            }
        } if(count % 2 == 0){
            sum += i
        } else{
            sum -= i
        }
        count =0
    } return sum 
}

내 1점 짜리코드...

약수의 개수를 셀 변수를 하나 만들고 

값을더할수 있는 변수도 하나 만든다 

 

조건은 left 숫자 부터 right사이의 숫자니까

반복문을 걸어서 그 숫자만큼 진행 하도록 했다 

 

그다음에 약수를 구하도록 했는데 

약수는 나누어 떨어지는 수를 말하니까 반복문을 통해서 1부터 나눈 나머지 값이 0일때만

count에 +1을 하도록 해서 약수의 개수를 구한다음

 

조건문을 돌려서 짝수면 + 홀수면 -을 하게 한다 

여기서 중요한점은 매 숫자마자 약수의 개수를 알아야 함으로 

count를 다시 0으로 바꿔 줘야 한다는 점이다. 

728x90