호지

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

알고리즘/프로그래머스

[프로그래머스] 약수의 개수와 덧셈 문제풀이 JS

_hoji

left에서 right까지 약수의 개수가 짝수인 수는 더하고,

약수의 개수가 홀수인 수는 빼는 문제이다.

따라서 약수의 개수를 구하기 위해 1부터 n*n까지 나누기가 0인 수를 센 다음,

짝수일 경우엔 answer에 더하고,

홀수인 경우엔 answer에 빼면 원하는 결과를 얻을 수 있다 

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