코딩테스트/해커랭크 챌린지
[hackerrank] hackerrank challenges Day 19 자바 코드 리뷰
dandev
2022. 7. 12. 16:00
728x90
반응형
지난 포스팅의 자바 Day19 강좌 리뷰에 이어
이번 포스팅에서는 Day19 자바 코드 리뷰를 진행해보자.

이번 문제도 영어를 몰라도
예제를 보면 쉽게 이해할 수 있는 문제였다.
이번 문제를 입력받은 수의 약수를 구해
약수들의 합을 출력하는 문제였다.
우선 전체 소스코드 먼저 한 번 살펴보자.
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 강의를 보거나
필자의 포스팅에 댓글로 질문해주기를 바란다.
그럼 오늘도 열공하자. 😊
728x90
반응형