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;
}