기타/Codility

[Easy] CountFactors

백곰곰 2022. 5. 30. 21:43
728x90
반응형

[문제]

주어진 수의 모든 약수의 개수를 구하는 문제

 

CountFactors coding task - Learn to Code - Codility

Count factors of given number n.

app.codility.com

[코드]

N이 큰 값으로 주어지기 때문에 시간복잡도가 O(N)라면 timeout이 발생한다.

제곱근의 약수의 개수를 구하여 해당 값을 활용한다.

import math
def solution(N):
    # write your code in Python 3.6
    sqrt_value = math.sqrt(N)
    answer= 0
    i = 1
    while i < sqrt_value :
        if N%i == 0: 
            answer = answer + 1
        i = i+1
    answer = answer*2
    if N%sqrt_value == 0 :
        answer= answer+1
    return answer
728x90

'기타 > Codility' 카테고리의 다른 글

[Easy] MaxProductOfThree  (0) 2022.06.06
[Easy] AbsDistinct  (0) 2022.06.01
[Easy] MaxProfit  (0) 2022.05.30
[Easy] Dominator  (0) 2022.05.26
[Easy] Fish  (0) 2022.05.26