public void getStrikingPower(int num, int[] strikingPower, int limit, int power) {
int cnt = 0;
for(int i = 1; i * i <= num; i++) {
if(i * i == num) {
cnt++;
} else if(num % i == 0) {
cnt += 2;
}
}
if(cnt > limit) {
strikingPower[num - 1] = power;
} else {
strikingPower[num - 1] = cnt;
}
}
public int getIronWeight(int[] strikingPower) {
int sum = 0;
for(int i = 0; i < strikingPower.length; i++) {
sum += strikingPower[i];
}
return sum;
}
public int solution(int number, int limit, int power) {
int[] strikingPower = new int[number];
// 각 기사가 사용할 수 있는 공격력 구하기
for(int i = 1; i <= number; i++) {
getStrikingPower(i, strikingPower, limit, power);
}
// 필요한 철의 무게 구하기
int answer = getIronWeight(strikingPower);
return answer;
}