본문 바로가기
문제풀이/프로그래머스

[프로그래머스] Level 1 – 약수의 합

by chan10 2021. 2. 1.

문제 설명

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

 

제한 사항

·         n 0 이상 3000이하인 정수입니다.

 

입출력 예

n

return

12

28

5

6

 

입출력 예 설명

입출력 예 #1
12
의 약수는 1, 2, 3, 4, 6, 12입니다. 이를 모두 더하면 28입니다.

 

입출력 예 #2
5
의 약수는 1, 5입니다. 이를 모두 더하면 6입니다.


 

- 풀이 과정 -

1.          매개변수 n1부터 n까지 나누어서 나머지가 0인 경우에 숫자를 누적해서 더합니다.

 


풀이 코드

package codingTest;
 
//프로그래머스 Level 1 - 약수의 합
class Solution {
    public int solution(int n) {
        int answer = 0;
        for(int i=1;i<=n;i++) {
            answer=(n%i==0)?answer+=i:answer;
        }
        
        return answer;
    }
    
    public static void main(String[] args) {
        Solution sol = new Solution();
        System.out.println(sol.solution(5));
    }
}