본문 바로가기

코드테스트/Java

[프로그래머스] 레벨 1 - 약수의 합

 

 

package codeTest;

public class Exam02 {

    public int solution(int n) {
        int answer = 0;

        for(int i = 1; i <= n; i++){

            // 짝수인 경우
            if(n % i == 0) { // 1: 234 % 1, 2: 234 % 2 = 0


                System.out.println("i의 값 : " + i +" , If문 안의 n의 값" + n);

                answer += i;   // 1: answer = 0, i = 1  2: answer = 1, i = 2
                System.out.println(answer); // 1: 1 , 2: 3
            }
        }
        return answer;
    }

    public static void main(String[] args) {

        Exam02 a =  new Exam02();

        a.solution(234);
    }


}

 

 


풀이 개념]

약수란?

어떤 수를 나누어떨어지게 하는 수, 그 수의 약수라고 합니다.

4를 1, 2, 4로 나누면 나누어떨어집니다.

즉, 4의 약수는 1, 2, 4 입니다.

 

- 나머지 값 구하기 [4 % n] 

 4 % 1 = 0 , 4 % 2 = 0, 4 % 4 = 0    

- 나눈 값 구하기 [4 / n]  

4 / 1 = 4,  4 / 2 = 2, 4 / 4 = 1      

# 나누기와 나머지를 헷갈리지 않도록 주의!