Algorithm

Algorithm :: 프로그래머스 문제풀기 -10

hooti 2020. 10. 23. 21:50

약수의 합

정수 n을 입력받아 n의 약수를 모두 더한 값을 리턴하는 함수, solution을 완성해주세요.

 

제한사항 : n은 0 이상 3000이하인 정수입니다.

 


 

 

약수찾기는 예전에 혼자 풀어본적이 있어서 어렵지 않았다. 약수는 어떤 수를 나누어떨어지게 하는 수이니, 나눴을때 0인 숫자가 그 숫자의 약수인것이다. 쉽게 이해하면 나머지가 0인 숫자들을 찾으면 된다. 나머지 연산자인 %를 이용하면 아주 쉽다!

 

1. 1씩 증가하는 반복문 만들기(! 1부터 시작해야함 !)

2. 입력된 값에 i의 나머지가 0인지를 확인한다.

3. 만약 값이 0이라면 변수에 해당 값을 더한다.

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

 

출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges