작성
·
373
·
수정됨
0
http://boj.kr/e76755768b7d48568716ed808c81ad36 문제는 풀었습니다!ㅎㅎ
다만 이해가 안가는 부분이 있는데 다 구현하고 나서 정렬할 때 cmp라는 사용자 정의 연산자를 만들어서 pair의 first값은 오름차순으로 pair의 second값은 내림차순으로 만들고 싶어서 링크의 코드 처럼 구현을 했는데 왜
bool cmp(const pair<int, int>& a, const pair<int, int>& b)
{
if (a.first == b.first)
{
return a.second > b.second; 라고하면은 second는 내림차순으로 정렬되고
}
return a.first < b.first; 라고 하면은 first값은 오름차순으로 정렬되는지
}
이해가 잘 안갑니다.
답변 1
-1
안녕하세요 ㅎㅎ
sort를 우리가 쓸 때
sort(v.begin(), v.end())
이렇게 쓰게 되면 default로 오름차순으로 정렬이 되죠.
이 떄 sort는 comparator의 < 오퍼레이터를 기준으로 적용하여 정렬을 시킵니다.
즉, <는 오름차순, >은 내림차순으로 정렬되게 됩니다.
감사합니다.