본문 바로가기
알고리즘 문제풀이/Programmers - 자바

프로그래머스 - 기사단원의 무기

by 올리브영 2023. 5. 8.
728x90
반응형
class Solution {
    public int solution(int number, int limit, int power) {
        int answer = 0;
        
        for(int i=1; i<=number; i++){
            int weapon = divisor(i);
            if(limit<weapon){ // 제한수치보다 큰 공격력을 가진 경우,
                weapon = power;
            }
            answer += weapon;
        }
        
        return answer;
    }
    
    int divisor(int n){ // 약수 구하는 함수.
        int sum = 0;
        for(int i=1; i*i<=n; i++){
            if(i * i == n) sum++;
            else if(n % i == 0) sum += 2;
        }
        return sum;
    }
}
728x90
반응형