Hyundolog

[Programmers] Lv1. 약수의 개수와 덧셈 (JavaScript) 본문

문제 풀이/프로그래머스

[Programmers] Lv1. 약수의 개수와 덧셈 (JavaScript)

hyundol97 2022. 10. 5. 23:35

문제

 


 

 

풀이

1차

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

 

 

2차

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

 

 


 

리뷰

  • Math 메소드 활용 고려
  • 어떠한 수의 제곱근이 정수이면, 약수의 개수가 홀수임을 인지
Comments