import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;
public class baekjoon1931 {
static BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
static StringTokenizer st;
static int[][] arr;
static int key, value, N, result=0, index=0;
public static void main(String args[]) throws IOException{
N = Integer.parseInt(br.readLine());
arr = new int[N][2];
for(int i=0,j=0;i<N;i++){
j=0;
st = new StringTokenizer(br.readLine());
key = Integer.parseInt(st.nextToken());
value = Integer.parseInt(st.nextToken());
arr[i][j]=key;
j+=1;
arr[i][j]=value;
}
Arrays.sort(arr,(o1,o2)->{
if(o1[1] == o2[1]){
return Integer.compare(o1[0],o2[0]);
}else{
return Integer.compare(o1[1],o2[1]);
}
});
for(int i=0,j=0;i<N;i++){
if(index<=arr[i][0]){
index = arr[i][1];
result++;
}
}
System.out.print(result);
}
}
처음에 괜히 map을 써서 했는데,
key, value로 매핑해서 정렬했더니 계속 null값이 찍혀서 왜그러지 했는데 key에 값이 없으면 null로 찍히는걸 간과하고있었다..
그래서 그냥 2차원배열로 value기준으로 정렬해서 풀었다.
Arrays.sort함수는 그냥 복붙해와서 조금고친것