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

woolee의 기록보관소·2022년 11월 7일
0

알고리즘 문제풀이

목록 보기
50/178

문제 출처

프로그래머스 lev1 - 약수의 개수와 덧셈

문제

나의 풀이

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

console.log(solution(24, 27));

다른 풀이

제곱근이 정수면, 약수의 개수는 홀수이다.

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;
}
profile
https://medium.com/@wooleejaan

0개의 댓글