문제 설명

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

제한 조건

  • n은 0 이상 3000이하인 정수입니다.

풀이

class Solution {
    public int solution(int n) {
        int answer = 0;

        for (int i = 1; i <= n; i++) {
            if (n % i == 0) { // n을 i로 나누었을 때, 나머지가 0이면 i는 약수입니다.
                answer += i;
            }
        }

        return answer;
    }
}

참고

  • 어떤 수를 나누어떨어지게 하는 수를 그 수의 약수라고 합니다.
  • 10을 나누어 떨어지게 하는 1, 2, 5, 10이 10의 약수입니다.

카테고리:

업데이트:

댓글남기기