
import java.util.ArrayList;
import java.util.List;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
// TODO Auto-generated method stub
Scanner sc = new Scanner(System.in);
int N = sc.nextInt();
int K = sc.nextInt();
List<Integer> list = new ArrayList<>();
for (int i = 1; i <= N; i++) {
if (N % i == 0) {
list.add(i);
}
}
if (list.size() >= K) {
System.out.println(list.get(K - 1));
} else {
System.out.println(0);
}
}
}
처음에는 ArrayList 대신 배열을 사용했다. 그런데 배열을 사용하면 약수가 아닌 부분이 비어버려서 제대로 된 결과가 나오지 않았다. 그래서 순서는 유지하되 인덱스는 앞으로 당기는 ArrayList를 사용하기로 했다.
K번째 약수가 없을 때의 경우를 처리해주지 않으면 런타임 에러가 뜬다.
이클립스 자동 줄 정리 : ctrl + shift + f