happy coding

[java] 2501. 약수 구하기 본문

coding study/baekjoon

[java] 2501. 약수 구하기

yeoonii 2023. 7. 26. 01:38
import java.io.*;
import java.lang.*;
import java.util.*;

public class Main {
    public static void main(String[] args) throws IOException {
        //첫째 줄에 자연수 n과 k가 공백을 두고 입력. k는 1이상 n이하
        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());

        int[] arr = new int[n];
        int count = 0;

        //n의 약수구하기 + 작은거 저장 >> 어차피 오름차순 정렬인데 k번째 그냥 구해도 되지 않을까
        for (int i = 1; i <= n; i++) {
            if (n % i == 0) {
                arr[count] = i;
                count++;
            }
        }
        Arrays.sort(arr,0,count);	//오름차순 정렬

        if (k > count) {
            System.out.println("0");
        } else {    //n의 약수들 중 k번째 작은 수 출력
            System.out.println(arr[k-1]);
        }
    }


}

count를 이용해서 array 인덱스를 설정하는 방법을 알았다!

 

'coding study > baekjoon' 카테고리의 다른 글

[java] 1085. 직사각형에서 탈출  (0) 2023.07.27
[java] 1284. 집주소  (0) 2023.07.27
[java] 10817. 세 수  (0) 2023.07.25
[java] 10818. 최대, 최소  (0) 2023.07.25
[java] 27465. 소수가 아닌 수  (0) 2023.07.25
Comments