반응형
https://school.programmers.co.kr/learn/courses/30/lessons/77884
package Programmers;
public class 약수의개수와덧셈 {
public static void main(String[] args){
약수의개수와덧셈 T = new 약수의개수와덧셈();
int left = 13;
int right = 17;
T.solution(left, right);
}
public int solution(int left, int right) {
int answer = 0;
//약수의 개수가 짝수인것은 더하고 홀수인것은 빼자
//1. left ~ right 까지 for문을 돌면서 각각의 약수 개수를 구한다.
for (int i = left; i <= right; i++) {
int cnt = divisorCnt(i);
//개수가 짝수면 더하고 홀수면 빼자
if(cnt % 2 == 0){
//짝수일경우
answer += i;
}else{
//홀수일경우
answer -= i;
}
}
return answer;
}
public int divisorCnt(int n){
int cnt = 0;
for (int i = 1; i <= n; i++) {
if(n % i == 0){
cnt ++;
}
}
return cnt;
}
}
1. 풀이
1.1 ) divisorCnt 함수를 만든다.
-> 매개변수로 int 하나 받으면 약수의 개수를 return
1.2 ) For문 left ~ right 까지
- divisorCnt 에 left ~ right 까지 넣어보면서 cnt 를 리턴받아 짝수인지 홀수인지 구분하여 연산해준다.
반응형
'기타 > 알고리즘' 카테고리의 다른 글
[알고리즘] 프로그래머스 - 타겟넘버 LV02 Java (0) | 2023.07.04 |
---|---|
[알고리즘] 프로그래머스 - 쿼드 압축 후 개수세기 LV02 Java (0) | 2023.06.26 |
[알고리즘] 프로그래머스 - 최소직사강형 Lv1 Java (0) | 2023.05.29 |
[알고리즘] 프로그래머스 - 모음사전 Lv2 Java DFS (0) | 2023.05.27 |
[알고리즘] 프로그래머스 - 전력망을 둘로 나누기 Lv2 Java BFS (0) | 2023.05.25 |