[ Programmers ] 약수의 개수 덧셈 (Java)

ma.caron_g·2021년 7월 6일
0

Lv.1 - Programmers (완성)

목록 보기
23/74
post-thumbnail

1. Problem 📃


2. Constraint 🔗


3. Solution 🔑

  1. for문을 이용하여 left부터 right까지의 수(n)를 한번씩 체크
  2. 받은 수(n)를 1부터 자기 자신까지 나누어서 나머지가 0이 되면 그 수의 약수가 되므로 약수의 개수를 세어주는 변수(count)를 1 증가
  3. 총 개수가 짝수면 answer에 더해주고 홀수면 answer에서 빼준다
  4. 개수를 세어주는 변수(count)를 0으로 초기화 후 다음 수(n)의 개수를 세어주면서 left가 right가 될 때까지 반복 후 answer을 리턴.

4. Code 💻

class Solution {
	public int CountOfAliquot(int n) {
		int count=0;
		for(int i=1; i<=n; i++) {
			if(n % i == 0) {
				count++;
			}
		}
		return count;
	}
    public int solution(int left, int right) {
        int answer = 0;
        
        for(int i=left; i<=right; i++) {
        	int num = CountOfAliquot(i);
        	if(num % 2 == 0) {
        		answer += i;
        	}
        	else {
        		answer -= i;
        	}
        }
        
        
        return answer;
    }
}
profile
다른 사람이 만든 것을 소비하는 활동보다, 내가 생산적인 활동을 하는 시간이 더 많도록 생활화 하자.

0개의 댓글