최대 1 분 소요



https://www.acmicpc.net/problem/1946



🔍 문제 풀이

문제 도식화

assets/images/2025/1946.jpg



💻 코드

전체 코드

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

public class Main {

    public static void main(String[] args) throws Exception {
        BufferedReader br = new BufferedReader(new InputStreamReader(System.in));

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

        while(t --> 0){
            int n = Integer.parseInt(br.readLine());
            int[][] arr = new int[n][2];

            for(int i=0; i<n; i++){
                StringTokenizer st = new StringTokenizer(br.readLine());
                for(int j=0; j<2; j++){
                    arr[i][j] = Integer.parseInt(st.nextToken());
                }
            }

            // 성적1 기준 오름차순 정렬
            Arrays.sort(arr, (a, b)->{
                return a[0] - b[0];
            });

            int cnt = 1; // 첫 번째 지원자 무조건 합격
            int prev = arr[0][1]; // 성적2 최솟값 기록

            for(int i=1; i<n; i++){
                // 성적2가 이전 합격자보다 더 좋은 경우만 합격
                if(arr[i][1] < prev){
                    cnt++;
                    prev=arr[i][1];
                }
            }


            System.out.println(cnt);
        }
    }
}


카테고리:

업데이트:

댓글남기기