[BOJ]2501 약수 구하기 - 자바

곌로그·2023년 11월 14일
1

[java]코딩테스트

목록 보기
2/6
post-thumbnail

자바로 코딩테스트를 보아야하는 경우가 많아서 쉬운 문제부터 차근히 익숙해지려고 함 ^^ ...

문제 링크


문제 요약 🥉 브론즈 3

요약할게 없을 정도로 간단한 문제이다.


문제 풀이


import java.util.StringTokenizer;
import java.util.ArrayList;
import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;;



public class boj2501{
    public static void main(String[] args) throws IOException{

        /* 입출력 */
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        StringTokenizer stk = new StringTokenizer(br.readLine()); // 읽은 라인을 ""으로 자른다 

        /*String Tokenizer*/
        int N = Integer.parseInt(stk.nextToken());
        int M = Integer.parseInt(stk.nextToken());
        
        ArrayList<Integer> number = new ArrayList<>();

        for(int i=1; i<=N;i++)
        {
            if(N % i == 0)
            {
                number.add(i);
            }
        }

        int num_size = number.size();
        if(num_size < M)
        {
            System.out.println(0);
        }
        else{
            System.out.println(number.get(M-1));
        }
    }
}   
    

📌 익숙해질 점

  • BufferedReader로 읽어준는게 입력은 가장 빠르다고 한다.
  • StringTokenizer를 이용해서 입력받은 값들을 각각 나누어서(?) 변수에 저장 가능하다.
  • Python의 리스트와 가장 비슷한 역할을 하는 것이 ArrayList이므로 이를 많이 활용할 듯 (?)

0개의 댓글