728x90
반응형
[문제]
주어진 수의 모든 약수의 개수를 구하는 문제
[코드]
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 |