본문 바로가기
Coding Test/JavaScript

[프로그래머스] 약수의 개수와 덧셈 JavaScript Code

by giem 2022. 8. 17.
반응형

 

프로그래머스 약수의 개수와 덧셈을 JavaScript로 풀어보겠다.

 

2022.08.17 - [Coding Test/Go] - [프로그래머스] 약수의 개수와 덧셈 Go Code

2022.08.17 - [Coding Test/C++] - [프로그래머스] 약수의 개수와 덧셈 C++ Code

2022.08.17 - [Coding Test/Python] - [프로그래머스] 약수의 개수와 덧셈 Python Code

다른 언어 풀이는 위 링크를 참고하면 좋을 것 같다.


 

문제


구현

for문으로 left부터 right까지 반복하며

약수의 개수가 홀수인 경우는 완전 제곱수이기 때문에

제곱수를 판별한 후

해당 숫자를 정답에서 빼거나 더한다.


코드
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;
}

완전 제곱수를 판별한 방법은 위 코드와 같다.

루트를 취한 다음

isInteger로 정수인지 판별한 것이다.

 

자바스크립트가 아주 좋은 함수들을 많이 가지고 있다고 생각한다.


다른 풀이

이 문제는 이 풀이가 최적화되어 있어 다른 좋은 방법이 보이지 않는다.

 

이렇게 Go, JS, C++, Python으로

프로그래머스의 약수의 개수와 덧셈 문제를 풀어봤다.

반응형

댓글