shuhu_01   4년 전

해당 코드에서 Check문에 return a.first < b.first; 만 남길 경우 정답이 나옵니다. 

정답이 맞는 이유는 알겠습니다.

하지만 이 글에 적힌 코드처럼, if(a.first==b.first) return a==b와 stable_sort를 합쳐서 사용한 코드는 틀린 이유가

정확히 파악되지 않습니다.

테스트 케이스는 통과하는 것으로 나옵니다. 

해당 부분에 대해 도움 주시면 감사하겠습니다. 

Green55   4년 전

return a==b;는 a와 b가 같은 pair이면 true, 다른 pair이면 false를 리턴합니다.

즉 같은 페어가 check에 의해서 비교된다면, 정렬함수는 a<a라고 판단합니다. 따라서 완전히 잘못된 정렬이 이루어집니다.

shuhu_01   4년 전

Green55 

감사합니다. 설명 주신 부분을 자세히 곱씹어보니 제가 sort함수의 근본에 대해 잘못이해하고 있었습니다 :-)

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