티스토리 뷰

PS/programmers

Level1) 약수의 합

kingsubin 2020. 9. 9. 19:45
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;
    }
}

- 성공

 

 

class Solution {
    public static int solution(int n) {
        int answer = 0;
        for (int i = 1; i <= n/2; i++) {
            if (n%i == 0) {
                answer += i;
            }
        }
        return answer + n;
    }
}

- 다른 사람 풀이

- 약수의 합을 구하는건데 약수에 2이상이 있다면 무조건 절반 이상 나눠지는 거니까 루프에서 i를 꼭 n까지 안돌려도 됨

- 그래서 n/2까지 돌리고 마지막에 1이랑 짝인 n을 더 해줌