swo98   1년 전

회의가 끝나는 시간이 빠른 순서대로 정렬을 한 다음

끝나는 시간이 다음 회의 시작 시간보다 빠르면 count하고 해당회의 종료시간으로 다음회의를 찾는 방식으로

풀었습니다

여기서 정렬을 할 때 sort에서 compare함수를 인자로 줘서 정렬 조건을 pair의 second값을 기준으로 하게 했는데

오답이 나옵니다.

그래서 애초에 입력 받을 때 first,second를 뒤집어서 입력 받으니까 정답이 나왔네요

같은 코드이고 정렬할때 비교조건만 직접 써준 것 뿐인데 왜 오답이나오나요?ㅠㅠ

첫 번째 코드는 오답, 두 번째 코드는 정답입니다.

swo98   1년 전

자문자답입니다...

종료시간이 같을 때를 고려해서

이 경우 시작시간이 빠른 순으로 정렬하는 과정이 필요했네요

bool compare(pair <int,int> &a, pair <int,int> &b){

     if(a.second==b.second) return a.first<b.first;
     return a.second<b.second;

}

댓글을 작성하려면 로그인해야 합니다.