반응형
문제
나의 풀이
function solution(left, right) {
var answer = 0;
let diff = right - left;
function judge(num){
let cnt = 0;
for(let i = 0 ; i<= num ;i++){
if (num % i == 0) cnt++
}
return cnt%2 == 0 ? true : false
}
for(let i = 0 ; i <= diff;i++){
let result = judge(left)
if(result){
answer += left
}else{
answer -= left
}
left++
}
return answer;
}
약수의 갯수가 짝수면 true, 홀수면 false를 반환하는 judge 함수를 만들었고, left와 right의 차이만큼 for문을 돌리면서
answer에 덧셈과 뺄셈을 해주었다.
다른이의 풀이
- 함수를 만들지 않고 for문을 두번 돌려서 한번에 계산할 수 있다.
- 제곱근이 정수면 약수의 갯수가 홀수랍니다. //Number.isInteger() 메서드는 주어진 값이 정수인지 판별합니다.
반응형
'코딩테스트' 카테고리의 다른 글
[프로그래머스] level2. 점프와 순간 이동(javascript) (0) | 2021.07.05 |
---|---|
[프로그래머스] level3. 베스트앨범 (javascript) (0) | 2021.06.23 |
[프로그래머스] level2. [3차] 방금 그곡 (javascript) (0) | 2021.06.16 |
[프로그래머스] level2. 소수 찾기 (javascript) (0) | 2021.06.15 |
[프로그래머스] level3. 네트워크 (javascript) (2) | 2021.06.11 |