DHistory

[Programmers] Level 1 - 기사단원의 무기 본문

Computer Science/Algorithm

[Programmers] Level 1 - 기사단원의 무기

ddu0422 2023. 7. 5. 22:31

문제

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

풀이

def solution(number, limit, power):
    knights = [countDivisor(i) for i in range(1, number + 1)]

    return sum([knight if knight <= limit else power for knight in knights])

def countDivisor(number):
    count = 0
    
    for j in range(1, int(number**(1/2)) + 1):
        if number % j == 0:
            if j * j == number:
                count += 1
            else:
                count += 2

    return count

 

채점 결과