[알고리즘] 프로그래머스 (약수의 개수와 덧셈)

정보구니·2022년 1월 5일
0

알고리즘

목록 보기
3/8

문제
https://woodadada16.tistory.com/24




나의 답안

class Solution {
	public static int solution(int left, int right) {
		int answer = 0;
		
		for(int i=left; i<right+1; i++) {
			int cnt = 0;
			// 약수 구하기
			for (int k=1; k<i+1; k++) {  // 1부터 자기자신까지 반복
				if (i % k == 0) {    // k는 i의 약수에 해당
					cnt++;       // 약수의 개수 카운팅
				}				
			}
			
			// 약수의 개수가 짝수인 수는 더하고 약수의 개수가 홀수인 수는 빼기
			if (cnt % 2 == 0) {           // 약수의 개수가 짝수개이면
				answer = (answer+i);  // 더하기
			} else {
				answer = (answer-i);  // 빼기
			}	
		}		
		return answer;		
	}
}

  • 처음에 int cnt = 0;for문 밖에서 선언해주었다.

0개의 댓글