Giant Danio Fish
본문 바로가기
알고리즘

프로그래머스 1단계 : 약수의 개수와 덧셈

by 코딩왕자 2022. 11. 25.

프로그래머스 1단계 : 약수의 개수와 덧셈

코딩테스트 연습 > 월간 코드 챌린지 시즌2 > 약수의 개수와 덧셈


✔ 문제 설명

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

✔ 제한 사항

1 ≤ left ≤ right ≤ 1,000

✔ 입출력 예

left right result
13 17 43
24 27 52

✔ 문제풀이

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

✔ 설명

조건에 맞게 반복문과 조건문을 쇽쇽 넣었습니다. 참 쉽죠?

✔ 다른사람의 풀이

function solution(left, right) {
    var answer = 0;
    for (let i = left; i <= right; i++) {
        if (Number.isInteger(Math.sqrt(i))) {
            answer -= i;
        } else {
            answer += i;
        }
    }
    return answer;
}

제곱근이 정수면, 약수의 갯수가 홀수라고 하네요.

댓글


광고 준비중입니다