만약 문제를 맞힌 개수가 4(수포자1), 4(수포자2), 5(수포자3)였다면
문제를 가장 많이 맞힌 사람은 수포자 3이 되는데,
반복문을 처음부터 돌게되면 수포자 1, 2가 answer벡터에 들어갈 것이므로 빼주는 과정도 추가하였다
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
vector<int> solution(vector<int> answers) {
vector<int> num1={1,2,3,4,5};
vector<int> num2={2, 1, 2, 3, 2, 4, 2, 5};
vector<int> num3={3, 3, 1, 1, 2, 2, 4, 4, 5, 5};
int count[4]={0,0,0,0};
for(int i=0;i<answers.size();i++){
if(num1[i%num1.size()]==answers[i]) count[1]++;
if(num2[i%num2.size()]==answers[i]) count[2]++;
if(num3[i%num3.size()]==answers[i]) count[3]++;
}
vector<int> answer;
int max=count[1];
for(int i=1;i<=3;i++){
if(max<count[i]) {
while(!answer.empty()){
answer.pop_back();
}
answer.push_back(i);
max=count[i];
}
else if(max==count[i]){
answer.push_back(i);
}
}
return answer;
}
https://programmers.co.kr/learn/courses/30/lessons/42840?language=cpp