약수의 합
문제정의
어떤 자연수 n이 주어졌을 때, 약수들의 합을 구하는 문제이다.
문제풀이
전체 코드는 다음과 같다. 간단한 문제이다. 1부터 n까지 가면서 만약 나누어 떨어지는 수라면 정답에 해당 약수를 더해나가면 된다. 총 시간복잡도는 \(O(n)\)이다.1
2
3
4
5
6
7
8
9
10
11
12
13
14public class SumDivisor {
//프로그래머스 문제풀이 level1 약수의 합
public static void main(String[] args)
{
int n = 12;
int answer = 0;
for(int i = 1; i <= n; i++)
{
if(n%i == 0)
answer += i;
}
}
}