C++:: 프로그래머스 < 모의고사 >

jahlee·2023년 4월 13일
0

프로그래머스_Lv.1

목록 보기
18/75
post-thumbnail

각 사람이 문제를 얼마나 맞췄는지 하나하나 확인해주고 오름차순으로 많이 맞춘사람을 리턴해주면 된다.

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

0개의 댓글