기본 구현 코드
public int countDivisors(int n) {
int count = 0;
for (int i = 1; i <= n; i++) {
if (n % i == 0) count++;
}
return count;
}
시간 복잡도 O(√n) 코드
public int countDivisors(int n) {
int count = 0;
for (int i = 1; i * i <= n; i++) {
if (i * i == n) count++;
else if (n % i == 0) count += 2;
}
return count;
}
'Develop > Algorithm' 카테고리의 다른 글
연속된 수의 합으로 특정 수를 만들 수 있는 경우의 수 (0) | 2022.12.21 |
---|---|
*** 조합(Combination) (0) | 2022.11.25 |
유클리드 호제법을 이용한 최소공배수, 최대공약수 (0) | 2022.11.05 |
이진 탐색(Binary Search) (0) | 2022.11.01 |
동적계획법 - 2 x n 타일 문제 (0) | 2022.10.31 |