각 사람이 문제를 얼마나 맞췄는지 하나하나 확인해주고 오름차순으로 많이 맞춘사람을 리턴해주면 된다.
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
vector<int> solution(vector<int> answers)
{
vector<int> one = {1,2,3,4,5}, two = {2,1,2,3,2,4,2,5}, three = {3,3,1,1,2,2,4,4,5,5};
vector<int> answer, res(3,0);
for(int i=0;i<answers.size();i++)
{// 맞춘 문제수 확인
if (one[i%5] == answers[i]) res[0]++;
if (two[i%8] == answers[i]) res[1]++;
if (three[i%10] == answers[i]) res[2]++;
}
int res_max = *max_element(res.begin(), res.end());// 제일많이 맞춘 개수
for(int i=0;i<3;i++) if (res[i] == res_max) answer.push_back(i+1);//제일 많이 맞췄다면 추가
return answer;
}