[프로그래머스-자바스크립트] 약수의 개수와 덧셈

차슈·2024년 5월 3일
0

프로그래머스

목록 보기
43/64
post-thumbnail

문제

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


입출력 예시

left right result
13 1743
24 27 52

풀이

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

  return answer;
}

첫번째 for문은 leff와 right 사이의 수를 구했다
두번째 for문은 1부터 i의 수까지를 범위로 설정하고 나누어 떨어지는 수= 약수를 의미하니까 수만큼 count를 더해준다.

그리고 약수의 총 개수가 홀수인지 짝수인지만 구해주기

자바스크립트 함수를 써서 다시 풀어볼 예정!

0개의 댓글