공부 흔적남기기

프로그래머스 약수의 합 본문

코테/프로그래머스

프로그래머스 약수의 합

65살까지 코딩 2022. 1. 16. 22:53
728x90
반응형
class Solution {
    public int solution(int n) {

        return yaksu(n);
    }

// 1 2 3 4 6 12
    public int yaksu(int num){
        int count = 0;
        //num의 약수를 1부터 num의 양의 제곱근 까지 확인함
        for(int i =1; i<=Math.sqrt(num); i++){
            if(num% i ==0){
                //나누어 떨어지고 그게 num의 양의 제곱근이라면
                if(i == Math.sqrt(num)){
                    count += i;
                    //총카운트에 그 수만 더하고
                }else{
                    //양의 제곱근이 아니라면
                    //그 수와 num을 그수로 나는 수를 더해줌
                    count +=i;
                    count += num/i;
                }
            }
        }
        return count;
    }
}

출처: https://programmers.co.kr/learn/courses/30/lessons/12928

 

코딩테스트 연습 - 약수의 합

정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요. 제한 사항 n은 0 이상 3000이하인 정수입니다. 입출력 예 n return 12 28 5 6 입출력 예 설명 입출력 예 #1 12의 약수

programmers.co.kr

 

728x90
반응형