-
[브론즈 III] 2501번 :: 약수 구하기 / Java백준/브론즈 2022. 9. 1. 00:05
문제
https://www.acmicpc.net/problem/2501
코드
import java.io.BufferedReader; import java.io.IOException; import java.io.InputStreamReader; import java.util.ArrayList; import java.util.List; import java.util.StringTokenizer; public class Main { public static void main(String[] args) throws IOException { BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); StringTokenizer st = new StringTokenizer(br.readLine()); int N = Integer.parseInt(st.nextToken()); int K = Integer.parseInt(st.nextToken()); 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로 만들어서
약수에 해당하는 i를 list에 add하고
K번째 약수가 list 안에 있으면 K번째 약수 출력하고
아니면 0을 출력
'백준 > 브론즈' 카테고리의 다른 글
[브론즈 III] 2522번 :: 별 찍기 - 12 / Java (0) 2022.09.01 [브론즈 III] 2506번 :: 점수계산 / Java (0) 2022.09.01 [브론즈 III] 2490번 :: 윷놀이 / Java (0) 2022.08.31 [브론즈 III] 2476번 :: 주사위 게임 / Java (0) 2022.08.25 [브론즈 III] 2460번 :: 지능형 기차 2 / Java (0) 2022.08.25