반응형
Notice
Recent Posts
Recent Comments
Link
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
Archives
Today
Total
관리 메뉴

undefined

[프로그래머스] 약수의 개수와 덧셈 -JS 본문

Coding Test

[프로그래머스] 약수의 개수와 덧셈 -JS

JavaScripter 2022. 6. 8. 19:55
반응형

문제 설명


문제 풀이

function solution(left, right) {
    let answer = 0
    for(let i = left; i <= right; i++) {
            let array = []
        for(let j = 1; j<= i ; j++ ) {
            if(i % j === 0) {
                array.push(j)
            }
        }
        array.length % 2 === 0  ? answer += i : answer -= i
    }
    return answer
}

1. 첫번째 for 루프는 숫자의 범위 / 2번째 for 루프는 해당 숫자의 약수 찾기

 

2. array에 약수를 넣어준다. (for루프 안에 array를 생성시켰기 때문에 다른 i의 약수가 중첩적으로 들어가지 않음)

 

3. array의 길이가 짝수일때 더하기 홀수일때 빼기


개선 사항

function solution(left, right) {
    var answer = 0;
    for (let i = left; i <= right; i++) {
        if (Number.isInteger(Math.sqrt(i))) {
            answer -= i;
        } else {
            answer += i;
        }
    }
    return answer;
}

* 제곱근이면 약수는 홀수개 !

반응형
Comments