CS/프로그래머스

문제 // Programmers // LEVEL1 // Math // 약수의 합 // Java

문스코딩 2018. 9. 11. 21:24

프로그래머스

약수의 합

업데이트 :: 2018.09.11



문제

자연수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요.

제한 사항
n은 0 이상 3000이하인 자연수입니다.

코드

1차풀이

public class Programmers_15 {
    public int solution(int n) {
        int sumOfDivisor = 0;
        for(int i=1; i<=n; i++) {
            if(n % i == 0)
                sumOfDivisor += i;
        }
        return sumOfDivisor;
    }
}
  • 반복범위처리못함
    • n/2 까지 확인

예제

반복의 범위를 설정

class SumDivisor {
    public int sumDivisor(int num) {
        int answer = 0;
        for(int i = 1; i <= num/2; i++){
          if(num%i == 0) answer += i;
        }
        return answer+num;
    }
}

Created by MoonsCoding

e-mail :: jm921106@gmail.com

반응형