상세 컨텐츠

본문 제목

[C언어/그리디] 1931 : 회의실 배정

프로그래밍/백준

by whave 2022. 3. 3. 11:11

본문

#include<stdio.h>
#include<stdlib.h>

struct arr{
	int start;
	int end;
};
arr array[100005];

int compare(const void *a,const void *b){
	arr* ar1=(arr*)a;
	arr* ar2=(arr*)b;
	
	if(ar1->end!=ar2->end){ //종료시간이 다른 경우 
		if(ar1->end < ar2->end)// 종료시간 오름차순 
			return -1;
		else if(ar1->end > ar2->end)
			return 1;
		else
			return 0;
	}
	
	else{ //종료시간이 동일할 경우 
		if(ar1->start < ar2->start) //시작시간이 더 빠른 걸 앞으로. 시작시간 오름차순 
			return -1;
		else if(ar1->start > ar2->start)
			return 1;
		else
			return 0; 
	}
		
}
int main(void){
	int t,cnt=0,last=0;
	scanf("%d",&t);
	
	for(int i=0;i<t;i++){
		scanf("%d %d",&array[i].start,&array[i].end);
	}

//	qsort(array,sizeof(array)/sizeof(arr),sizeof(arr),compare);
	qsort(array,t,sizeof(arr),compare);
	
	for(int i=0;i<t;i++){
		if(array[i].start>=last){
			cnt++;
			last=array[i].end;
		}
	}
	printf("%d",cnt);
	return 0;	
}

'프로그래밍 > 백준' 카테고리의 다른 글

[C++] 11286 : 절댓값 힙  (0) 2022.04.14
11723 : 집합  (0) 2022.03.14
[C언어/그리디]1026 : 보물  (0) 2022.03.02
[C++/다익스트라] 1753 : 최단경로  (0) 2022.02.16
[C언어/DP] 9465 : 스티커  (0) 2022.02.12

관련글 더보기