백준 1946: 신입 사원

uni.gy·2023년 12월 4일
0

알고리즘

목록 보기
28/61

문제

풀이

  1. 서류 순서로 오름차순 정렬
  2. 시작 비교대상은 서류 순위 1등
  3. 면접 순위 높은 대상이 나타나면 비교 대상을 바꿔주고 카운트 +1

코드

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));
        BufferedWriter bw=new BufferedWriter(new OutputStreamWriter(System.out));
        StringTokenizer st;

        int t=Integer.parseInt(br.readLine());

        while(t-->0){
            int n=Integer.parseInt(br.readLine());
            ArrayList<People> arr=new ArrayList<>();
            for(int i=0;i<n;i++){
                st=new StringTokenizer(br.readLine());
                int a=Integer.parseInt(st.nextToken());
                int b=Integer.parseInt(st.nextToken());
                arr.add(new People(a,b));
            }
            Collections.sort(arr);
            People now=arr.get(0);
            int cnt=1;
            for(People p:arr){
                if(p.b<now.b){
                    cnt++;
                    now=p;
                }
            }
            System.out.println(cnt);
        }
    }

    static class People implements Comparable<People>{
        int a,b;

        public People(int a, int b) {
            this.a = a;
            this.b = b;
        }

        @Override
        public int compareTo(People o) {
            return this.a!=o.a?this.a-o.a:this.b-o.b;
        }
    }
}

#그리디

profile
한결같이

0개의 댓글