반응형
문제분석:
left~right 숫자사이에 있는 숫자들의 약수의 갯수가 짝수면 + , 홀수면 - 를 해준다.
문제풀이:
left~right를 순회하면서 메소드 alg()를 부른다.
alg(int x)는 x의 약수의갯수를 구하고 홀수나 짝수라면 + 할지 -할지를 결정한다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
|
import java.util.*;
class Solution {
public int solution(int left, int right) {
int answer = 0;
for(int i=left;i<=right;i++){
answer+=alg(i);
}
return answer;
}
public int alg (int x){
int count=0;
for(int i=1;i<=Math.sqrt(x);i++){
if(x%i==0) count+=2;
if(Math.pow(i,2)==x) count--;
}
if(count%2==0) return x;
else return x*(-1);
}
}
|
cs |
반응형
'알고리즘 > 프로그래머스 Level1' 카테고리의 다른 글
[프로그래머스,자바] Level1 : 실패율 (0) | 2021.08.12 |
---|---|
[프로그래머스,자바] Level1: 예산 (0) | 2021.08.12 |
[프로그래머스,자바] Level1: 키패드 누르기 (0) | 2021.08.10 |
[프로그래머스,자바] Level1 : 3진법 뒤집기 (0) | 2021.08.10 |
[프로그래머스,Java] Level1: 위클리챌린지 2주차 (0) | 2021.08.09 |