문제
https://school.programmers.co.kr/learn/courses/30/lessons/136798
프로그래머스
SW개발자를 위한 평가, 교육의 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
< 기사단원의 무기 >
문제 풀이 (Java)
class Solution {
public int solution(int number, int limit, int power) {
int answer = 0;
for (int i = 1; i <= number; i++) {
int cnt = 0;
for (int j = 1; j < Math.sqrt(i); j++) {
if (i % j == 0) {
cnt += 2;
}
}
if (i % Math.sqrt(i) == 0) {
cnt += 1;
}
if (cnt > limit) {
answer += power;
} else {
answer += cnt;
}
}
return answer;
}
}
1부터 number까지 각 숫자의 약수의 개수를 구한다. 약수의 개수가 limit보다 크다면 power를 더하고, limit 이하라면 약수의 개수를 더한다. 최종 answer을 반환한다.

출처: 프로그래머스 코딩 테스트 연습,
https://school.programmers.co.kr/learn/challenges
'🌞Algorithm > 🔥programmers' 카테고리의 다른 글
| [programmers] 혼자 놀기의 달인 (0) | 2026.06.15 |
|---|---|
| [programmers] 달리기 경주 (0) | 2026.06.05 |
| [programmers] 덧칠하기 (0) | 2026.06.04 |
| [programmers] 과제 진행하기 (0) | 2026.06.02 |
| [programmers] 땅따먹기 (0) | 2026.06.01 |