[백준] 1931번 회의실 배정 (java, 그리디)
728x90
반응형
회의실 끝나는 시간을 첫 번째 기준으로, 끝나는 시간이 같다면 시작시간 기준으로 오름차순 정렬한다.
import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;
import java.util.Scanner;
public class Main {
static class MeetingRoom implements Comparable<MeetingRoom>{
int start,end;
public MeetingRoom( int start, int end) {
super();
this.start = start;
this.end = end;
}
@Override
public int compareTo(MeetingRoom o) {
// 종료 시간이 같다면 시작 시간이 빠르게
int diff=this.end-o.end;
return diff!=0?diff:this.start-o.start;
}
}
public static void main(String[] args) {
Scanner sc=new Scanner(System.in);
int n=sc.nextInt();
MeetingRoom[] m=new MeetingRoom[n];
for (int i = 0; i < n; i++) {
m[i]=new MeetingRoom(sc.nextInt(),sc.nextInt());
}
System.out.println(getSchedule(m));
}
public static int getSchedule(MeetingRoom[] m){
ArrayList<MeetingRoom> list=new ArrayList<MeetingRoom>();
Arrays.sort(m);
list.add(m[0]);
for (int i = 1; i < m.length; i++) {
if(list.get(list.size()-1).end<=m[i].start) {
list.add(m[i]);
}
}
return list.size();
}
}
728x90
반응형
'백준' 카테고리의 다른 글
[정올] 1828. 냉장고 (java, 그리디) (0) | 2021.02.17 |
---|---|
[백준] 1074번 Z (JAVA, 완전 탐색 ) (0) | 2021.02.16 |
[백준] 2839번 설탕 배달 (java) (0) | 2021.02.16 |
[백준] 3040번 백설 공주와 일곱 난쟁이 (0) | 2021.02.15 |
[백준] 2961번 도영이가 만든 맛있는 음식 (java, 부분 집합 subset) (0) | 2021.02.15 |
TAGS.