백준 2501번

김경욱·2025년 8월 1일

백준

목록 보기
14/121

import java.util.Scanner;

public class Main {
public static void main(String[] args) {
Scanner in = new Scanner(System.in);

    int N = in.nextInt();

    int K = in.nextInt();

    int count = 0;

    for (int i = 1; i <= N; i++) {
        if (N % i == 0) {  // ex) 6과 3을 넣으면 어떻게 될까!!! 이게 정말 중요함!! 25와 4
            count++;
            if (count == K) {
                System.out.println(i);
                return;
            }

        }
    }

    System.out.println(0);


}

}

나의 입장에서는 약수의 순서를 구한다는 발상을 해보지 못하여 너무나도 신선한 문제였다. COUNT를 이용하여 값을 구하는 부분에서는 정말 많은 것을 느꼈다. 코드가 정말 깔끔하여 한번 더 놀랐다. 조건이 맞으면 COUNT++;을 한 후 COUNT가 K번째 약수를 원하는 것이므로 COUNT==K를 사용한 것이 정말 인상 깊었다. 또한 for문에서 N을 포함하지 않는 실수도 하여 무엇이 틀렸는 지 몰라 고민하기도 하였다.

0개의 댓글