[프로그래머스] 약수의 합
2020. 6. 19. 20:54ㆍ프로그래머스/LEVEL 1
import java.util.*;
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;
}
}
1. 그냥 1부터 n까지 돌면서 n을 나누어 떨어지게 하면 answer에 더해간다.
위의 코드는 n이 작기때문에 가능하다.
class Solution {
public int solution(int n) {
int answer = n;
for(int i=1; i<=n/2; i++){
if(n%i==0){
answer += i;
}
}
return answer;
}
}
1. answer을 n으로 시작하면 약수 1 과 대응되는 n을 이미 계산해준게 된다.
2. 2부터 약수를 찾는데 n을 제외한 모든 약수중 n/2보다 큰 약수는 없으므로 n/2까지만 찾아주면된다.
'프로그래머스 > LEVEL 1' 카테고리의 다른 글
[프로그래머스] 수박수박수박 (0) | 2020.06.19 |
---|---|
[프로그래머스] 문자열을 정수로 바꾸기 (0) | 2020.06.19 |
[프로그래머스] 제일 작은 수 제거하기 (0) | 2020.06.19 |
[프로그래머스] 문자열 내림차순으로 배치하기 (0) | 2020.06.19 |
[프로그래머스] 2016년 (0) | 2020.06.19 |