복습 한 내용
- 자바 클래스
- 자료형 int, string
- ArrayList
- Comparator
- Iterator
Class divisorSum
import java.util.ArrayList;
import java.util.Comparator;
import java.util.Iterator;
public class divisorSum {
public int solution(int n) {
int answer = 0;
ArrayList<Integer> arr = new ArrayList();
int half = (int) Math.sqrt(n);
for(int i = 1; i <= half ; i++){
if(n % i == 0) {
arr.add(i);
if(n / i != i){
arr.add(n / i);
}
}
}
arr.sort(Comparator.naturalOrder()); // array
Iterator<Integer> stringIterator = arr.iterator();
while(stringIterator.hasNext()){
int showComponent = stringIterator.next();
System.out.print(showComponent + " ");
}
int arrSize = arr.size();
for(int i = 0; i < arrSize ; i++){
answer += arr.get(i);
}
return answer;
}
}
약수의 합을 구하는 클래스를 구현한다.
Math 인스턴스의 sqrt 함수
main 함수
import java.util.Scanner;
public class main {
public static void main(String[] args){
// test1 one = new test1();
Scanner scan = new Scanner(System.in);
String inputStringValue = scan.nextLine();
Integer inputIntValue = scan.nextInt();
divisorSum testOne = new divisorSum();
int answer = testOne.solution(inputIntValue);
System.out.println(inputStringValue);
System.out.println("답은 : " + answer + " 입니다");
}
}