강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

김태형님의 프로필 이미지
김태형

작성한 질문수

it 취업을 위한 알고리즘 문제풀이 입문 (with C/C++) : 코딩테스트 대비

75. 최대 수입 스케쥴(priority queue greedy: 구조체와 Vector를 이용한 정렬)

75번 정렬 질문입니다!

작성

·

195

0

75번에서 벡터에 넣고 정렬을 하는데 정렬이 내림차순인데 마지막 부분 (20,1) 이랑 (30,1)은 왜 (20,1) (30,1) 이렇게 나오는 걸까요??

답변 1

1

김태원님의 프로필 이미지
김태원
지식공유자

struct Data{
	int money;
	int when;
	Data(int a, int b){
		money=a;
		when=b;
	}
	bool operator<(Data &b){
		return when>b.when;
	}	
};

위 코드는 정렬 기준이 날짜에 의해서만 정렬이 됩니다. 돈은 정렬과 상관없습니다.

만약 날짜에 의해서 내림차순 정렬하고 날짜가 같을 경우는 돈에 의해서 내림차순 정렬을 하고 싶으면 아래와 같이 하면 됩니다.

struct Data{
	int money;
	int when;
	Data(int a, int b){
		money=a;
		when=b;
	}
	bool operator<(Data &b){
		if(when==b.when){
			return money>b.money;
		}
		else return when>b.when;
	}	
};
김태형님의 프로필 이미지
김태형

작성한 질문수

질문하기