개발/[JavaScript] 프로그래머스

[JavaScript] 프로그래머스 - Level 1: 약수의 개수와 덧셈

hr0513 2024. 11. 9. 14:00
728x90
반응형

문제 설명
두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주세요.

제한사항
1 ≤ left ≤ right ≤ 1,000


입출력 예

left right result
13 17 43
24 27 52

 

solution.js

function solution(left, right) {
  return Array.from({ length: right - left + 1 }, (_, i) => left + i)
    .reduce((acc, num) => acc + (Number.isInteger(Math.sqrt(num)) ? -num : num), 0);
}

 

※ 제곱근이 정수면 약수의 개수가 홀수입니다.

728x90
반응형