본문 바로가기
백준_Java

#2501_k번째 인수_bufferedReader

by 푸른달아흐렛밤 2021. 9. 11.
반응형

#1

scanner로 입력받기

int 배열/ for문 / i = 인수찾기 j = 인덱스

import java.util.*;

public class Main {
	public static void main(String[] args) {

        
        Scanner scan = new Scanner(System.in); //입력
        int N = scan.nextInt(); 
        int K = scan.nextInt();
    	int j =1 ;
        int[] ansN = new int[N]; //배열
        int size = ansN.length;
        
        for (int i=1; i<size+1;i++){
            if (N%i == 0){
            	ansN[j-1] = i;
            	j++;
            }
        }
        System.out.println(ansN[K-1]);
}}

 

#2

bufferedReader/bufferedwriter - 버퍼 이용으로 입출력 효울 좋음 (버퍼로 묶어서 한번에 보내는게 효율적)

bufferedReader : 엔터로 구분. string

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;

class Main {
    public static void main(String[] args) throws IOException { //예외처리
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

        String[] problemInfo = br.readLine().split(" "); //readline()으로 라인 단위로 읽기
        int N = Integer.parseInt(problemInfo[0]); //parseInt() : string -> int
        int K = Integer.parseInt(problemInfo[1]);

        System.out.println(getKthDivisor(N, K));
        br.close(); //닫기
    }

    static int getKthDivisor(int devidedNum, int K) {
        int divisorCnt = 0; // n번쨰 인수
        for (int i = 1; i <= devidedNum; i++) {
            if (devidedNum % i > 0) continue; //인수가 아니면 pass
            if (++divisorCnt == K) return i;//
        }
        return 0;
    }
}

 

 

 

반응형

'백준_Java' 카테고리의 다른 글

2588_형변환/자릿수로 쪼개기  (0) 2021.08.17
1000_입력받기  (0) 2021.08.17
10171_역슬래쉬 출력  (0) 2021.08.17
10718_for문 출력  (0) 2021.08.17
2557_hello world 출력  (0) 2021.08.17