약수의 합
문제 설명
정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요.
제한 조건
n은 0 이상 3000이하인 정수입니다.
입출력 예
입출력 예 설명
입출력 예 #1
12의 약수는 1, 2, 3, 4, 6, 12입니다. 이를 모두 더하면 28입니다.
입출력 예 #2
5의 약수는 1, 5입니다. 이를 모두 더하면 6입니다.
작성코드
class Solution {
public int solution(int n) {
int answer = 0;
for(int i = 1; i <= n; i++ ) {
if(n % i == 0)
answer += i;
}
return answer;
}
}
코드설명
- 4~7번 : 입력받은 n값의 약수값을 구하려면 반복문을 통해 n값보다 작거나 같을때 까지 n이 i값으로 나눠서 0이 나오면 해당 약수가 된다. 해당 조건에 맞는 값을 answer변수에 하나씩 더해주면 된다.
반복문의 약수를 하나씩 찍어보면 아래와 같다.