class Solution {
    public int solution(int n) {
        int answer = 0;
        
        for(int i=1;i*i<=n;i++) {
            if(i*i==n) {
                answer+=i;
            } else if(n%i==0) {
                answer+=i;
                answer+=n/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;
    	}
    }
이분은 제곱근이 아닌, 절반까지 루프를 돌렸다.
절반보다는 제곱근이 시간복잡도 측면에서 더 우수하다고 볼 수 있겠다.