본문 바로가기
  • 개발 / 공부 / 일상
Programmers

(Programmers) [Lv. 1] 약수의 개수와 덧셈

by JJeongHyun 2023. 2. 8.
반응형

문제 설명

  • 두 정수를 매개변수로 주어진다
  • 두 정수를 포함하여 두 정수 사이에 모든 수들 중 약수의 개수가 짝수인 수는 더하고, 홀수 인 수는 뺀다
  • 그 결괏값을 반환해 주는 solution 함수를 완성하시오

제한사항

  • 1 ≤ left ≤ right ≤ 1,000

 

입출력 예시

약수의 개수와 덧셈 입출력 예시

 

전체 코드

function solution(left, right) {
  let arr = [];
  let tempArr = [];
  let divisorLength = [];
  let result = 0;
  for (let i = left; i <= right; i++) {
    tempArr = [];
    arr.push(i);
    for (let j = 1; j <= i; j++) {
      if (!(i % j)) tempArr.push(j);
    }
    !(tempArr.length % 2)
      ? divisorLength.push(tempArr.length)
      : divisorLength.push(tempArr.length * -1);
  }
  divisorLength.forEach((item, index) => {
    item > 0 ? (result += arr[index]) : (result -= arr[index]);
  });

  return result;
}