본문 바로가기

[BOJ] - JAVA

[백준] 11004 : K번째 수 JAVA 풀이

입력된 수들을 배열에 저장해서 정렬한 뒤 K번째 숫자를 출력하기만 하면 되는 쉬운 문제였다.

 

import java.io.*;
import java.util.*;

public class Main{
    public static void main(String[] args)throws IOException{
        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+1];
        
        st = new StringTokenizer(br.readLine(), " ");
        
        for(int i=1;i<=N;i++){
            arr[i] = Integer.parseInt(st.nextToken());
        }
        
        arr.sort();
        
        System.out.pritnln(arr[K]);
    }
}

 

아래는 ArrayList를 사용한 코드이다.

import java.io.*;
import java.util.*;
public class Main{
    public static void main(String[] args)throws IOException{
        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());
        ArrayList<Integer> list = new ArrayList<Integer>();
        
        st = new StringTokenizer(br.readLine()," ");
        for(int i=0;i<n;i++){
            list.add(Integer.parseInt(st.nextToken()));
        }
        Collections.sort(list);
        System.out.println(list.get(k-1));
    }
}