class Solution {
public int solution(int number, int limit, int power) {
int answer = 0;
int cnt=0;
for(int i=1; i<=number; i++){
for(int j=1; j*j<=i; j++){
if(j*j==i) cnt++;
else if(i%j==0) cnt+=2;
}
if(cnt>limit){
answer+=power;
cnt=0;
}
else if(cnt<=limit){
answer+=cnt;
cnt=0;
}
}
return answer;
}
}
처음에 그냥 2중 for문으로 해봤는데 안풀렸다. 시간초과. 그래서 약수를 구하는 텀을 줄여야겠다 싶어서 절반만 약수를 구하고 +2를 해준다. 만약에 j*j 가 같으면 +1만 해준다.