[프로그래머스] 코딩테스트 연습 - 약수의 합

제시된 문제는

어제 풀었던 문제도 약수에 관련된 문제여서 오늘도 복습할 겸 약수에 관련된 문제를 풀어보았다.

function solution(n) {
    var answer = 0;
    const arr = [];
    
    for (let i = 0; i <= n; i++) {
        if (n % i === 0){
            arr.push(i);
        }
    }
    for ( let a = arr[0]; a < arr.length; a++) {
        arr.filter((data)=> {
            data === a
        })
    }
    arr.map((data) => {
        answer += data
    })

    return answer;
}

제곱근의 약수는 4같은 경우 {1,2,2,4} 이렇게 중복되는 수가 있다는 것을 알 수 있다.
filter를 통해서 중복되는 수를 arr 배열에서 빼주고
arr배열에서 map으로 배열 안에 있는 수를 모두 더했다.

좋은 웹페이지 즐겨찾기