알고리즘
[프로그래머스] 약수의 합(Java)
muerha
2024. 10. 29. 15:52

나의 풀이
class Solution {
public int solution(int n) {
int answer = 0;
for(int i=1; i < n+1; i++){
if(n % i == 0){
answer += i;
}
}
return answer;
}
}
다른 사람의 풀이
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;
}
}
num / 2보다 큰 수는 약수가 될 수 없기 때문에 num의 절반까지만 반복한다.
모든 약수의 합이므로 본인 num도 더함.