https://www.acmicpc.net/problem/1931
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.lang.reflect.Array;
import java.util.Arrays;
import java.util.StringTokenizer;
public class Main {
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int N = Integer.parseInt(br.readLine());
int[][] meeting = new int[N][2];
for(int i=0;i<N;i++){
StringTokenizer st = new StringTokenizer(br.readLine());
meeting[i][0] = Integer.parseInt(st.nextToken());
meeting[i][1] = Integer.parseInt(st.nextToken());
}
// 미팅 끝나는 시간으로 정렬, 동일하면 시작 시간이 더 큰 값인 걸로
// 미팅 선택 -> (시작 시간-1)을 다시 끝나는 시간으로 설정 -> 회의 가능한지 판단
Arrays.sort(meeting, (a,b)->b[1]==a[1] ? Integer.compare(b[0], a[0]): Integer.compare(b[1], a[1]));
int count = 1;
int start = meeting[0][0];
for(int i=1;i<N;i++){
if(start >= meeting[i][1]){
start = meeting[i][0];
count++;
}
}
System.out.println(count);
}
}
17분 컷한줄 알았지만
start >= meeting[i][1]에 =가 들어가야 함. 문제를 애매하게 내서 잘못 이해함 - 이거 찾는데 15분 걸림