import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import java.util.Arrays;
import java.util.StringTokenizer;
public class Solution{
static int count;
static class Temperature implements Comparable<Temperature> {
int start, end;
public Temperature(int start, int end) {
super();
this.end = end;
this.start = start;
}
//Comparable 인터페이스를 구현하여 시작시간을 기준으로 (오름차순) 비교하고, 시작시간이 같으면 종료시간 오름차순으로 정렬
@Override
public int compareTo(Temperature o) {
return this.start != o.start ? this.start- o.start : this.end - o.end;
}
}
public static void main(String[] args) throws IOException {
BufferedReader br=new BufferedReader(new InputStreamReader(System.in));
StringBuilder sb=new StringBuilder();
StringTokenizer st=null;
st=new StringTokenizer(br.readLine());
int N=Integer.parseInt(st.nextToken());
Temperature[] temperatures=new Temperature[N];
for (int i = 0; i < N; i++) { //각 온도를 저장함.
st=new StringTokenizer(br.readLine());
temperatures[i]=new Temperature(Integer.parseInt(st.nextToken()),Integer.parseInt(st.nextToken()));
}
Calc(temperatures);
System.out.println(count);
}
private static void Calc(Temperature[] temperatures) {
//사용시간을 오름차순으로 정렬한다.
Arrays.sort(temperatures);
int s=temperatures[0].start;
int e=temperatures[0].end;
count=1;
for (int i = 1; i < temperatures.length; i++) {
//연속되어 있을 경우 갱신해주고
if(e>=temperatures[i].start){
if(e>temperatures[i].end){
e=temperatures[i].end;
}
s=temperatures[i].start;
//아닐경우 긴 이용시간과 사용하지 않은 텀 계산
}else{
count++;
s=temperatures[i].start;
e=temperatures[i].end;
}
}
}
}
카테고리 없음