기사단원의 무기
class Solution {
public int solution(int number, int limit, int power) {
int answer = 0;
int count = 0;
for (int i = 1; i <= number; i++) {
count = 1;
for (int j = 1; j <= i / 2; j++) {
if (i % j == 0) {
count++;
}
}
if (count > limit) {
answer += power;
} else {
answer += count;
}
}
return answer;
}
}
결과
입출력 #1
1부터 5까지의 약수의 개수는 순서대로 [1, 2, 2, 3, 2]개입니다. 모두 공격력 제한 수치인 3을 넘지 않기 때문에 필요한 철의 무게는 해당 수들의 합인 10이 됩니다. 따라서 10을 return 합니다.
입출력 #2
1부터 10까지의 약수의 개수는 순서대로 [1, 2, 2, 3, 2, 4, 2, 4, 3, 4]개입니다. 공격력의 제한수치가 3이기 때문에, 6, 8, 10번 기사는 공격력이 2인 무기를 구매합니다. 따라서 해당 수들의 합인 21을 return 합니다.