알고리즘 문제/프로그래머스_Lv1 도장깨기
[프로그래머스] 약수의 개수와 덧셈 (Javascript)
스코필
2024. 12. 19. 20:59
문제 링크
https://school.programmers.co.kr/learn/courses/30/lessons/77884
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
문제 설명
두 정수 left 와 right 가 매개변수로 주어집니다. left 부터 right 까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 리턴하도록 함수를 완성하세요.
제한 사항
- 1 <= left <= right <= 1,000
✅ Code - 성공
function solution(left, right) {
var answer = 0;
function prime_check(num) {
let cnt = 0;
for (let i = 1; i <= parseInt(num ** (1/2)); i++) {
if (num % i === 0) i * i === num? cnt += 1 : cnt += 2;
}
return cnt % 2 ? false : true;
}
for (let i = left; i <= right; i++) {
prime_check(i)? answer += i : answer -= i;
}
return answer;
}