데이터 엔지니어링 정복/Algorithm
[수학,구현] 프로그래머스 - 약수의 개수와 덧셈(77884)
eeaarrtthh
2022. 12. 29. 01:37
728x90
반응형
-문제
https://school.programmers.co.kr/learn/courses/30/lessons/77884
-내 풀이 자바
처음에 규칙을 찾으려고 노력했지만 결국 찾지 못하고 일일이 약수의 개수를 찾아가면서 풀었다.
첫 번째 for문에서 left~right 순회돌고
첫 번재 for문의 안에서 1~i까지 돌면서 0으로 나누어 떨어지는 값들을 찾는다.
찾게되면 cnt개수를 올려주고
중첩 for문이 다 돌고나서 cnt가 짝수인지 홀수인지 판별해서 answer에 + - 해준다.
class Solution {
public int solution(int left, int right) {
int answer = 0;
for( int i=left; i<=right; i++ ) {
int cnt = 0;
for( int j=1; j<=i; j++ ) {
if( i%j==0 ) cnt++;
}
if( cnt%2==0 ) answer += i;
else answer -= i;
}
return answer;
}
}
제곱근을 이용해서 푼 사람도 있었다.. 난 규칙성을 못찾았는데 대박이군
728x90
반응형