🌞Algorithm/🔥programmers

[programmers] 기사단원의 무기

뿌야._. 2026. 6. 16. 11:17
문제
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