#include <string>
#include <vector>
using namespace std;
int supoja_1[] = {1, 2, 3, 4, 5};
int supoja_2[] = {2, 1, 2, 3, 2, 4, 2, 5};
int supoja_3[] = {3, 3, 1, 1, 2, 2, 4, 4, 5, 5};
//1번 수포자 패턴 : 1, 2, 3, 4, 5
//2번 수포자 패턴 : 2, 1, 2, 3, 2, 4, 2, 5
//3번 수포자 패턴 : 3, 3, 1, 1, 2, 2, 4, 4, 5, 5
vector<int> solution(vector<int> answers) {
vector<int> answer;
//인원별 정답 갯수 변수
int ans_1 = 0, ans_2 = 0, ans_3 = 0;
//현재 문제번호 변수
int cur_num = 0;
//문제 완전 탐색
for(int cur_num = 0; cur_num < answers.size(); cur_num++) {
int ans = answers[cur_num];
if(supoja_1[cur_num%5] == ans) ans_1++;
if(supoja_2[cur_num%8] == ans) ans_2++;
if(supoja_3[cur_num%10] == ans) ans_3++;
}
//최대 맞은 수 찾기
int biggest = ans_1;
if(biggest < ans_2) biggest = ans_2;
if(biggest < ans_3) biggest = ans_3;
//최대 맞은 수와 같은 인원 정답에 집어넣기
if(biggest == ans_1) answer.push_back(1);
if(biggest == ans_2) answer.push_back(2);
if(biggest == ans_3) answer.push_back(3);
return answer;
}