📚 문제


✏️ 메모
약수의 개수 구하기
제곱근 사용
[Java] 약수의 개수 구하기
방법1 N의 약수 개수 구하는 방법을 생각했을 때 바로 떠오르는 방법은 N을 1부터 N까지의 숫자로 나눠 약수인지 판별하여 카운트를 해주는 방법이다. 코드로 구현해보면 아래와 같다. int N = 100000
chwan.tistory.com
🔎 문제해결
class Solution {
public int solution(int number, int limit, int power) {
int answer = 0;
int[] diversors = new int[number];
// number를 보면서, number 까지의 모든 숫자들의 약수를 파악해야 함.
// 약수를 구해서 약수 배열에다가 담음.
for (int i = 1; i <= number; i++) {
int count = 0;
for (int j = 1; j * j <= i; j++) {
if (j * j == i) count++;
else if (i % j == 0) count += 2;
}
diversors[i - 1] = count;
}
// 그리고 limit 의 숫자를 보면서 limit를 초과하면 power의 숫자를 넣어서
// 새로운 배열을 만들어 줌.
int[] diversorsLimit = new int [number];
for (int i = 0; i < diversors.length; i ++) {
if(diversors[i] > limit) {
diversorsLimit[i] = power;
}
else diversorsLimit[i] = diversors[i];
}
// 새로운 배열의 합을 answer 에 넣어줌.
for (int value : diversorsLimit) {
answer += value;
}
return answer;
}
}
'Coding Test' 카테고리의 다른 글
[Coding Test] 프로그래머스 1단계 - 모의고사 (0) | 2024.11.07 |
---|---|
[Coding Test] 프로그래머스 2단계 - 피로도 (0) | 2024.11.03 |
[Coding Test] 프로그래머스 1단계 - 추억 점수 (0) | 2024.10.28 |
[Coding Test] 프로그래머스 1단계 - 푸드 파이트 대회 (0) | 2024.10.24 |
[Coding Test] 프로그래머스 1단계 - 두 개 뽑아서 더하기 (0) | 2024.07.30 |