백준 신입 사원

less than 1 minute read

백준 신입 사원Permalink

신입 사원 신입 사원입출력

코드

import java.io.*;
import java.util.Arrays;
import java.util.Comparator;
import java.util.StringTokenizer;

public class Main {
    public static void main(String[] args) throws IOException{
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
        int n = Integer.parseInt(br.readLine());
        for(int i = 0; i<n;i++){
            int m = Integer.parseInt(br.readLine());
            int[][] arr = new int[m][2];
            int cnt = 1;
            for(int j = 0; j<arr.length;j++){
                StringTokenizer st = new StringTokenizer(br.readLine());
                arr[j][0] = Integer.parseInt(st.nextToken());
                arr[j][1] = Integer.parseInt(st.nextToken());
            }
            Arrays.sort(arr, new Comparator<int[]>() {
                @Override
                public int compare(int[] o1, int[] o2) {
                    return o1[0]-o2[0];
                }
            });
            int temp = arr[0][1];
            for(int j = 1; j<arr.length;j++){
                if(temp>arr[j][1]){
                    temp = arr[j][1];
                    cnt++;
                }
            }
            System.out.println(cnt);
        }
    }
}

설명

먼저 주의 할 점은 주어진 서류,면접 입력 값은 점수가 아닌 순위이다. 지원자의 서류 등수, 면접 등수 중 서류 순위를 오름 차순으로 정렬 후 면접 순위로 지원자가 선발이 될 수 있는지 확인한다. 비교를 할 때 가장 최근 채용된 지원자의 면접 순위보다 높은 지원자를 찾고 기준을 변경해준다.