[프로그래머스]약수와 개수의 덧셈

해피데빙·2022년 6월 23일
0

코딩테스트

목록 보기
22/52
post-custom-banner

약수가 홀수인 것은 제곱수가 유일하다

function solution(left, right) {
  let answer = 0;
  for (let num = left; num <= right; num++) {
    answer = Number.isInteger(Math.sqrt(num)) ? answer - num : answer + num;
  }
  return answer;
}

내 풀이

function solution(left, right) {
    //left ~ right 
    //약수의 개수가 짝수인 수는 더하고 홀수인 수는 빼도록
    //약수의 개수 구해서 홀수인지 짝수인지 리턴 함수, map해서 각각 *1/-1하고 다 더하기 
    
    function numbers(num){ 
        let count=0; 
        for(let i=1;i<Math.sqrt(num); i++){ 
            if(num % i ===0)count++;
        }
        count = count*2;
        if(num % Math.sqrt(num)===0)count++;
        return count
    }
    
     let answer=0;
    for(let i=left; i<=right; i++){ 
       if( numbers(i) %2 ===0){ 
           answer += i
       }else{ 
           answer -=i
       }
    }
    
    return answer
    
    

}
profile
노션 : https://garrulous-gander-3f2.notion.site/c488d337791c4c4cb6d93cb9fcc26f17
post-custom-banner

0개의 댓글