Coding test Practice31
프로그래머스 약수의 개수와 덧셈
문제설명:
두 정수 left와 right가 매개변수로 주어집니다. left부터 right까지의 모든 수들 중에서, 약수의 개수가 짝수인 수는 더하고, 약수의 개수가 홀수인 수는 뺀 수를 return 하도록 solution 함수를 완성해주세요.
function divisor(num) {
let count = 0;
for(let i = 1; i <= num; i++) {
if(num % i === 0) {
count = count + 1;
}
}
return count;
}
function solution(left, right) {
let result = 0;
for(let i = left; i <= right; i++) {
let count = divisor(i);
if(count % 2 === 0) {
result = result + i;
} else {
result = result - i;
}
}
return result;
}
문제풀이
약수의 개수가 짝수인 수는 더하고 약수의 개수가 홀수인 수는 뺀 수를 담아줄 result를 선언하고 반복문을 통해 left부터 right까지의 수에 접근하여 i의 약수의 개수를 구한다. 약수의 개수를 구하는 식은 따로 함수를 만들어 호출한다. 약수의 개수를 구하는 함수를 호출하여 구해진 값을 count에 할당하고 count를 2로 나눴을 때 나머지가 0이면 result에 i를 더해주고 나머지가 0이 아닐 경우 result에서 i를 빼준다. 반복문이 완료되면 result를 리턴한다.
Author And Source
이 문제에 관하여(Coding test Practice31), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@scoles1/Coding-test-Practice31저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)