Growth Hoon

20231130_TIL_{ 오전 : [프로그래머스 문제] } 본문

카테고리 없음

20231130_TIL_{ 오전 : [프로그래머스 문제] }

sayhoon 2023. 11. 30. 10:41

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

github link

def solution(number, limit, power):
    answer = 0
    
    for knight in range(1,number+1):
        count = 0
        for i in range(1, int(knight**0.5)+1):
            if knight % i == 0:
                count += 1
                if ((i**2) != knight) :
                    count += 1
        
        if count > limit:
            answer += power 
        else:
            answer += count 
            
    return answer

2일간 문제 풀었던 에라토스테네스의 체를 활용한 문제인 것 같다 !
다만 range를 시작 할 때 1로 시작하고, 5*5 = 25와 같은 중복을 방지하기 위해 i **2 를 통해

중복 방지 조건을 넣어준 것이 차이점이다.