https://programmers.co.kr/learn/courses/30/lessons/42840

vector<int> solution(vector<int> answers) {
	vector<int> answer;
	vector<int> maxSave(3);
	vector<int> supo[3]{
		{1, 2, 3, 4, 5},
		{2, 1, 2, 3, 2, 4, 2, 5},
		{3, 3, 1, 1, 2, 2, 4, 4, 5, 5}
	};
	
	for (int idx = 0; idx < 3; idx++) {
		for (int i = 0; i < answers.size(); i++) {
			if (supo[idx][i % supo[idx].size()] == answers[i]) {
				maxSave[idx]++;
			}
		}
	}
	int maxVal = *max_element(maxSave.begin(), maxSave.end());
	for (int i = 0; i < 3; i++) {
		if (maxVal == maxSave[i]) answer.push_back(i + 1);
	}
	
	return answer;
}