compare 함수

오늘 백준에서 문제를 풀다가 vector정렬 시 내가 원하는 순서대로 커스텀해서 정렬하는 compare함수를 만들어서 사용하다가 Runtime Error를 만나서 구글링으로 알아낸 결과를 정리하려고 한다. 결론은 벡터를 정렬하기 위해 sort로 넘겨준 cmp 함수가 잘못돼서 발생한 문제였다. 1. C++ 공식 문서에서 알아보는 Sort C++ STL의 sort함수는 수학적으로 strict weak ordering 조건을 만족해야 한다. 1. cmp(a, a) == false 2. cmp(a, b) == true이면 cmp(b, a) == false. 두 비교체를 바꾸면 참/거짓 값도 변경되어야한다. 3. cmp(a, b) == true이고 cmp(b, c) == true이면 cmp(a, c) == tru..
https://www.acmicpc.net/problem/1431 1431번: 시리얼 번호 첫째 줄에 기타의 개수 N이 주어진다. N은 50보다 작거나 같다. 둘째 줄부터 N개의 줄에 시리얼 번호가 하나씩 주어진다. 시리얼 번호의 길이는 최대 50이고, 알파벳 대문자 또는 숫자로만 이루어 www.acmicpc.net 1. Logic 각 조건에 따라 compare 함수를 커스텀해서 정렬하면 된다. 2. Code #include #include #include using namespace std; vector input; bool cmp(string a, string b) { //1번 조건 if(a.length() != b.length()) return a.length() < b.length(); //2번 ..
보글보글소다
'compare 함수' 태그의 글 목록