문제 설명
주어진 두 변수 left(int)부터 right(int)까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 홀수인 수는 뺀 다음 결과값을 반환해주는 문제이다.
풀이
간단하게 해결할 수 있는 문제이다. left부터 right까지 반복을 돌리면서 나머지가 0인걸 찾아 누적시켜준 다음 홀수 짝수를 판단하여 더하거나 빼주면 된다.
아래는 풀이에 사용한 코드이다.
function solution(left, right) {
var answer = 0; // 결과값에 사용할 변수
let num = 0; // 약수의 개수를 판별할 때 사용할 변수
// 범위 내에서 약수의 개수를 판별하고 결과값에 반영하는 부분
for(let i = left; i<=right; i++){
for(let j = 1; j<=i; j++){
i % j == 0 ? num++ : ''
}
// 약수의 개수가 짝수면 더하고 홀수면 뺀다
num % 2 == 0 ? answer += i : answer -= i
num = 0
}
return answer;
}
'코딩테스트 > 프로그래머스' 카테고리의 다른 글
[프로그래머스] Lv.02 연습문제 영어 끝말잇기 (JavaScript) (0) | 2024.04.18 |
---|---|
[프로그래머스] Lv.02 연습문제 하노이의 탑 (JavaScript) (0) | 2024.04.15 |
[프로그래머스] Lv.01 연습문제 최소직사각형 (JavaScript) (0) | 2024.04.12 |
[프로그래머스] Lv.01 연습문제 과일 장수 (JavaScript) (0) | 2024.04.10 |
[프로그래머스] Lv.01 연습문제 바탕화면 정리 (JavaScript) (0) | 2024.04.08 |