[프로그래머스 level1] 약수의 합

김예지·2021년 10월 10일
0

문제

https://programmers.co.kr/learn/courses/30/lessons/12928


문제 풀이

코드

function solution(n) {
    let sum=0;
    for(let i=1; i<=n; i++){
        if(n%i===0) sum+=i;
    }
    return sum;
}

추가) 오류 코드

function solution(n) {
    let arr=[];
    for(let i=1; i<=n; i++){
        if(n%i===0) arr.push(i);
    }
    return arr.reduce((a, b) => a+b);
}

처음에는 reduce를 활용해서 배열의 합을 구했는데, 이렇게 하니까 하나의 테스트케이스에서 런타임 오류가 났다.
알고보니 for문이 가장 단순하면서, 가장 빠르다고 한다. 런타임 오류가 나타날 때를 대비해서... 기억해두자!

profile
내가 짱이다 😎 매일 조금씩 성장하기🌱

1개의 댓글

comment-user-thumbnail
2021년 10월 25일

10/25

답글 달기