백준 2501번 약수 구하기(java)

마뇽미뇽·2024년 5월 23일
0

알고리즘 문제풀이

목록 보기
69/165

1.문제

https://www.acmicpc.net/problem/2501

2.풀이

배열리스트를 사용해 약수인 경우만 우선적으로 리스트에 저장 후 리스트에 저장된 값들만 배열에 저장 후 k값과 비교했다.

3.코드

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);
    }
}
profile
Que sera, sera

0개의 댓글