티스토리 뷰

반응형

 

 

 

 

지난 포스팅의 자바 Day19 강좌 리뷰에 이어

이번 포스팅에서는 Day19 자바 코드 리뷰를 진행해보자.

 

 

Day 19

 


 

이번 문제도 영어를 몰라도

예제를 보면 쉽게 이해할 수 있는 문제였다.

 

이번 문제를 입력받은 수의 약수를 구해

약수들의 합을 출력하는 문제였다.

 

우선 전체 소스코드 먼저 한 번 살펴보자.

 


 

 

import java.io.*;
import java.util.*;

interface AdvancedArithmetic{
   int divisorSum(int n);
}
class Calculator implements AdvancedArithmetic {
    public int divisorSum(int n) {
        int sum = 0;
        for(int i=1; i<=n; i++) {
            if(n % i ==0) {
                sum += i;
            }
        }
        return sum;
    }
}

class Solution {

    public static void main(String[] args) {
        Scanner scan = new Scanner(System.in);
        int n = scan.nextInt();
        scan.close();
        
      	AdvancedArithmetic myCalculator = new Calculator(); 
        int sum = myCalculator.divisorSum(n);
        System.out.println("I implemented: " + myCalculator.getClass().getInterfaces()[0].getName() );
        System.out.println(sum);
    }
}

 

 

전체 소스코드 중에서

우리가 실제로 구현해야 할 부분은

 

public int divisorSum(int n) {
    int sum = 0;
    for(int i=1; i<=n; i++) {
        if(n % i ==0) {
            sum += i;
        }
    }
    return sum;
}

 

divisorSum 메서드 부분이었다.

sum 변수를 생성해 약수를 구하고

약수들의 합(sum)을 return 해주면 되었다.

 

약수를 구하는 문제임을 확인했다면

딱히 어렵지 않게 해결할 수 있을 문제였다.

 

잘 이해가 되지 않는 부분이 있으면

hackerrank에서 제공하는 tutorial 강의를 보거나

필자의 포스팅에 댓글로 질문해주기를 바란다.

 


 

그럼 오늘도 열공하자. 😊

반응형