본문 바로가기
Coding Test/JavaScript

[Javascript] (프로그래머스 level 1) 약수의 개수와 덧셈

by Chaedie 2022. 7. 8.
728x90

[Javascript] (프로그래머스 level 1) 약수의 개수와 덧셈

💡 구글에 Javascript 풀이가 많이 없거나, 배운 점이 있으면 포스팅합니다.

내 풀이

function solution(left, right) {

    let answer = 0;
    for (let i = left; i <= right; i++) {
        if (getDividableNum(i) % 2 === 0) {
            answer += i;
        } else {
            answer -= i;
        }
    }
    return answer;
}

function getDividableNum(num) {
    const arr = [];
    for (let i = 1; i <= num; i++) {
        if (num % i === 0) {
            arr.push(i);
        }
    }

    return arr.length;
}

다른 사람 풀이

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

배운 점, 느낀 점

  • 로직은 같지만, 수학으로 함수 하나를 줄였네요…
  • 제곱근이 정수면 약수가 홀수라는 걸 처음 알았네요. 대단합니다.

댓글