pv104   4년 전

문제가 x를 오름차순으로 출력하면서 x가 중복되면 y를 오름차순으로 출력하는 거라고 이해했는데 어째서
pair로 구성한 vector를 정렬하는것만으로 처리가 되는건가요..??
만약 입력이
2 1
4 1
3 3
3 5로 들어온다면
정렬 후에는
2 1
3 1
3 3
4 5
이렇게 정렬되는거 아닌가요...?? 정렬 알고리즘 내에서 같은 x에 대해서 따로 y가 정렬되던가 하는 처리가 있나요? 도와주세요 ㅠㅠ


djm03178   4년 전

http://en.cppreference.com/w/c...

3) If lhs.first<rhs.first, returns true. Otherwise, if rhs.first<lhs.first, returns false. Otherwise, if lhs.second<rhs.second, returns true. Otherwise, returns false.

이에 따르면, std::sort가 비교 연산을 할 때 pair끼리 비교를 하게 되면, 우선 first끼리 비교를 해서 한쪽이 크거나 작으면 바로 반환하고, 둘이 같을 때는 second끼리 비교한 결과를 리턴한다고 되어 있습니다.

pv104   4년 전

djjm03178님 // 감사합니다! 해결이 됐어요ㅜㅜㅜ

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