https://www.acmicpc.net/problem/2501
배열리스트를 사용해 약수인 경우만 우선적으로 리스트에 저장 후 리스트에 저장된 값들만 배열에 저장 후 k값과 비교했다.
import java.util.ArrayList;
import java.util.Scanner;
public class Main {
public static void main(String[] args) {
Scanner sc = new Scanner(System.in);
ArrayList<Integer> list = new ArrayList<>();
int n = sc.nextInt();
int k = sc.nextInt();
for(int i = 1; i <= n; i++){
if(n % i == 0)
list.add(i);
}
int arr[] = new int[list.size()];
for(int i = 0; i < list.size(); i++){
arr[i] = list.get(i);
}
if(arr.length > k - 1)
System.out.println(arr[k - 1]);
else if(arr.length == 1)
System.out.println(1);
else
System.out.println(0);
}
}