https://school.programmers.co.kr/learn/courses/30/lessons/42840
#include <algorithm>
#include <vector>
using namespace std;
vector<int> solution(vector<int> answers) {
vector<int> answer;
int order1[5] = { 1, 2, 3, 4, 5 };
int order2[8] = { 2, 1, 2, 3, 2, 4, 2, 5};
int order3[10] = { 3, 3, 1, 1, 2, 2, 4, 4, 5, 5 };
vector<int> scores = { 0, 0, 0 };
int highScore = 0;
for (int i = 0; i<answers.size(); i++)
{
if (answers[i] == order1[i % 5]) scores[0]++;
if (answers[i] == order2[i % 8]) scores[1]++;
if (answers[i] == order3[i % 10]) scores[2]++;
}
highScore = *max_element(scores.begin(), scores.end());
for (int i = 0; i < scores.size(); i++)
{
if (scores[i] == highScore) answer.push_back(i+1);
}
return answer;
}
'코딩테스트 > 문제풀이' 카테고리의 다른 글
[220809] Level 1_ 두 정수 사이의 합 (0) | 2022.08.09 |
---|---|
[220808] Level1_ 두 개 뽑아서 더하기 (0) | 2022.08.08 |
[220806] Level_ 1 2016년 (0) | 2022.08.06 |
[220805] Level_ 1 완주하지 못한 선수 (오답노트) (0) | 2022.08.05 |
[220803] Level1_ 로또의 최고 순위와 최저 순위 (0) | 2022.08.03 |