알고리즘 공부

[구름] [알고리즘먼데이] 출석부 JAVA

송테이토 2022. 11. 30. 13:10
import java.io.*;
import java.util.*;

class Main {
	public static void main(String[] args) throws IOException {
		BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
		StringBuilder sb= new StringBuilder();
		
		StringTokenizer st = new StringTokenizer(br.readLine());
		int N=Integer.parseInt(st.nextToken());  //총 사람의 수
		int k=Integer.parseInt(st.nextToken()); //찾아야하는 수
		
		//사람의 정보를 입력받는 2차원 배열 선언
		String[][] info = new String[N][2];
		for(int i=0; i<N; i++){
			st = new StringTokenizer(br.readLine());
			info[i][0]= st.nextToken();
			info[i][1]= st.nextToken();
		}
		
		//오름차순으로 정렬하기
		Arrays.sort(info, new Comparator<String[]>(){
        		@Override
			public int compare(String[]o1, String[]o2){
				//이름이 같으면 큰 키로 오름차순
			if(o1[0].toString().contentEquals(o2[0].toString()))
         return o1[1].toString().compareTo(o2[1].toString());
      else
        return o1[0].toString().compareTo(o2[0].toString());
			}
		});
									
		//k번째 출력하기
		for(int i=k-1; i<k; i++){
			sb.append(info[i][0] + " " + info[i][1]);
		}	
	System.out.println(sb);
	}
}