프로그래머스 LV1 - 기사단원의 무기
내 풀이
def getMyDivisor(n):
divisorsList = []
for i in range(1, int(n**(1/2)) + 1):
if (n % i == 0):
divisorsList.append(i)
if ( (i**2) != n) :
divisorsList.append(n // i)
divisorsList.sort()
return len(divisorsList)
def solution(number, limit, power):
iron = []
for num in range(1,number+1):
yak_num = getMyDivisor(num)
if yak_num > limit:
iron.append(power)
else:
iron.append(yak_num)
return sum(iron)
배울 점
- 약수 시간복잡도 효율적으로 구하는 방법
댓글남기기