Lv.1 약수의 개수와 덧셈

🤖문제

👍 2022년 1월 25일

<script>
  const divisorCnt_calculator = (num) => {
      let cnt = 0;
      let changeNum = num;
      if (num === 1) return 1;
      for (let v=1; v<changeNum; v++) {
          if (num % v === 0) {
              if (v**2 === num) {
                  cnt++;
                  break
              }
              cnt += 2;
              changeNum = num / v
          } 
      }
      return cnt
  }

  function solution(left, right) {
      let answer = 0;
      for (let n = left; n <= right; n++) {
          let cnt = divisorCnt_calculator(n)
          cnt % 2 === 0 ? answer += n : answer -= n
      }
      return answer;
  }

</script>

항상 버벅거리는 약수 구하기 문제...

좋은 웹페이지 즐겨찾기