약수 구하기
2022. 10. 6. 13:28
def find_num_divisor(n):
divisor_list = []
for i in range(1, int(sqrt(n)) + 1):
if n % i == 0:
divisor_list.append(i)
if i != n / i:
divisor_list.append(int(n / i))
return list(set(divisor_list))
수를 입력하면 해당 수의 약수들을 리스트 형태로 반환함.
시간복잡도는 O(루트N).
알고리즘에 대한 설명은 링크 참조
'코딩테스트 > 메모' 카테고리의 다른 글
소인수분해 (0) | 2022.10.19 |
---|---|
피보나치 수 (0) | 2022.10.13 |
두 수의 최대공약수와 최소공배수구하기 (0) | 2022.10.06 |
소수 판별 (0) | 2022.10.06 |
유클리드 거리와 맨해튼 거리 (0) | 2022.10.06 |