https://programmers.co.kr/learn/courses/30/lessons/12915
int cmp(pair<string, char> left, pair<string, char> right) {
if (left.second == right.second) return left.first < right.first;
return left.second < right.second;
}
vector<string> solution(vector<string> strings, int n) {
vector<pair<string, char>> order(strings.size());
for (int i = 0; i < strings.size(); i++) {
order[i].first = strings[i];
order[i].second = strings[i][n];
}
sort(order.begin(), order.end(), cmp);
vector<string> answer(strings.size());
for (int i = 0; i < answer.size(); i++) {
answer[i] = order[i].first;
}
return answer;
}