[JavaScript] 약수의 개수와 덧셈

ladiolus·2023년 5월 12일
0

programmers

목록 보기
11/25
post-thumbnail

⏱️ 09:57.62

약수가 뭐였더라 .... 하면서 어떻게 구하지 ...? 하며 시간이 많이 걸렸다.
filter로 나머지가 0되는 배열의 길이를 구해서 약수의 개수를 판단해줬다.


CODE

function solution(left, right) {
    const numbers = [...new Array(right - left + 1)].map((_, i) => left + i);
    const answer = numbers.reduce((acc, cur, idx) => {
        let nums = [...new Array(cur)].map((_, i) => i + 1);
        let numLen = nums.filter(num => cur % num === 0).length;
        
        if(numLen % 2 === 0) return acc += cur;
        if(numLen % 2 !== 0) return acc -= cur;            
    }, 0);
    
    return answer;
}

0개의 댓글