코딩테스트/백준
[Dev-Ping9] 백준 1913번 - 회의실 배정 (Java)
DevPing9_
2022. 1. 5. 22:06


# 문제 설명
스케줄링에 관한 지식이 있으면 쉽게 풀 수 있다.
회의가 끝나는 시간이 중요하다.
1분에 시작해서 4분에 끝나는 회의와
3분에 시작해서 4분에 끝나는 회의가 있다고 할 때,
어차피 둘중 하나밖에 배정을 하지 못한다.
# 코드 구현
import java.io.BufferedReader;
import java.io.InputStreamReader;
import java.util.ArrayList;
import java.util.Arrays;
import java.util.Comparator;
import java.util.List;
import java.util.Set;
import java.util.StringTokenizer;
public class Main{
static int[][] meetings;
public static void main(String[] args) throws Exception {
BufferedReader br = new BufferedReader(new InputStreamReader(System.in));
int n = Integer.parseInt(br.readLine());
StringTokenizer st;
meetings = new int[n][2];
for(int i=0; i<n; i++){
st = new StringTokenizer(br.readLine(), " ");
meetings[i][0]=Integer.parseInt(st.nextToken());
meetings[i][1]=Integer.parseInt(st.nextToken());
}
Arrays.sort(meetings, new Comparator<int[]>() {
@Override
public int compare(int[] o1, int[] o2) {
// TODO Auto-generated method stub
if(o1[1]==o2[1]) return o1[0]-o2[0];
else return o1[1]-o2[1];
}
});
int cnt= 1;
int end =meetings[0][1];
for(int i=1;i<n;i++){
if(end<=meetings[i][0]){
cnt++;
end=meetings[i][1];
}
}
System.out.println(cnt);
}
}
728x90