undefined
[프로그래머스] 약수의 개수와 덧셈 -JS 본문
반응형
문제 설명
문제 풀이
function solution(left, right) {
let answer = 0
for(let i = left; i <= right; i++) {
let array = []
for(let j = 1; j<= i ; j++ ) {
if(i % j === 0) {
array.push(j)
}
}
array.length % 2 === 0 ? answer += i : answer -= i
}
return answer
}
1. 첫번째 for 루프는 숫자의 범위 / 2번째 for 루프는 해당 숫자의 약수 찾기
2. array에 약수를 넣어준다. (for루프 안에 array를 생성시켰기 때문에 다른 i의 약수가 중첩적으로 들어가지 않음)
3. array의 길이가 짝수일때 더하기 홀수일때 빼기
개선 사항
function solution(left, right) {
var answer = 0;
for (let i = left; i <= right; i++) {
if (Number.isInteger(Math.sqrt(i))) {
answer -= i;
} else {
answer += i;
}
}
return answer;
}
* 제곱근이면 약수는 홀수개 !
반응형
'Coding Test' 카테고리의 다른 글
[프로그래머스] 두 개 뽑아서 더하기 -JS (0) | 2022.06.09 |
---|---|
[프로그래머스] 최대공약수와 최소공배수 -JS (0) | 2022.06.08 |
[프로그래머스] 같은 숫자는 싫어 -JS (0) | 2022.06.08 |
[프로그래머스] 문자열 내 마음대로 정하기 -JS (0) | 2022.06.08 |
[프로그래머스] 예산 -JS (0) | 2022.06.08 |
Comments