오름차순6 문자열 내 맘대로 정렬하기 문제를 보자마자 sort 를 사용하여 정렬하면 되겠구나 했는데 벡터 안의 string 요소들이 담겨 있으니 아 2차원 배열로 풀면 되겠구나? 하고 생각했었고... cmp 함수를 제대로 못설계해서 시간을 날렸던 문제이다 커스텀 비교 함수의 사용법을 이해하게 된 문제이다 벡터 내 요소들인 string 들도 순서대로 비교가능하고, string내부의 인덱스 요소들도 순서를 비교가능하다 sort 의 비교함수는 인자를 2개를 가지고 비교하는데, 문제에서는 string 내 인덱스값이 같을때를 예외조건으로 달았으므로 두 string의 k번째 인덱스의 값이 같을 시 비교순서도 정해서 만들어주면 되는 문제였다 아래에 cmp함수의 a 2022. 6. 19. 구조체 내부에서 연산자 오버로딩 아래의 구문을 이해하기까지 꽤나 시간이 걸렸지만 이해한것이 있어 적어두고자 한다 bool operator < (const Point & a) const { if (x == a.x) return y < a.y; // 호출없이 쓰면 기존 구조체의 멤버 return x < a.x; // a로 호출해서 쓰면 구조체 a의 멤버 }operator < (기존 비교 연산자 a.y; } return x < a.x; } }; 위 식의 경우는 x가 1순위로 오름차순, y가 2순위로 내림차순, z가 3순위로 오름차순 정렬이라는 것을 알 수 있다 2022. 6. 9. 이전 1 2 다음