728x90
https://www.acmicpc.net/problem/2501
2501번: 약수 구하기
첫째 줄에 N과 K가 빈칸을 사이에 두고 주어진다. N은 1 이상 10,000 이하이다. K는 1 이상 N 이하이다.
www.acmicpc.net
약수를 구하고 인덱스에 맞춰 불러오기만 하면 된다.
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.StringTokenizer;
public class bj2501 {
public static void main(String[] args) throws IOException {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
StringTokenizer st = new StringTokenizer(br.readLine());
//N의 약수 중 K 번째로 작은 수 출력
int N = Integer.parseInt(st.nextToken());
int K = Integer.parseInt(st.nextToken());
ArrayList<Integer> arr = new ArrayList<>();
for(int i = 1; i <= N; i ++) {
if(N % i == 0) arr.add(i);
}
if(arr.size() < K) System.out.println(0);
else System.out.println(arr.get(K - 1));
}
}728x90
'알고리즘 > 백준' 카테고리의 다른 글
| 백준 2178 자바 풀이 (0) | 2022.03.11 |
|---|---|
| 백준 1303 자바 풀이 (0) | 2022.03.10 |
| 백준 11279 자바 풀이 (0) | 2022.03.08 |
| 백준 1697 자바 풀이 (0) | 2022.03.08 |
| 백준 2620 자바 풀이 (0) | 2022.03.06 |