#include <string>
#include <vector>
#include <algorithm>
using namespace std;
vector<int> solution(vector<int> answers) {
vector<int> answer;
int counts[3]{0};
int tester1[5] = {1,2,3,4,5};
int tester2[8] = {2,1,2,3,2,4,2,5};
int tester3[10] = {3,3,1,1,2,2,4,4,5,5};
for(int j = 0; j < answers.size(); j++)
{
if(tester1[j % 5] == answers[j])
counts[0]++;
if(tester2[j % 8] == answers[j])
counts[1]++;
if(tester3[j % 10] == answers[j])
counts[2]++;
}
int maxs = max(max(counts[0],counts[1]),counts[2]);
for(int i = 0; i < 3; i++)
{
if(counts[i] == maxs)
{
maxs = counts[i];
answer.push_back(i+1);
}
}
return answer;
}
풀이
- 찍는 방식을 잘 저장한다.
- i번째의 % 5, 8 ,10을 하여 패턴의 개수만큼 처리한다.
- max로 가장 많이 맞은 사람을 추려낸다.
'Algorithm > Programmers' 카테고리의 다른 글
[C++] 프로그래머스 카펫 완전탐색 (0) | 2021.04.23 |
---|---|
[C++] 프로그래머스 소수찾기 완전탐색 (0) | 2021.04.23 |
[C++] 프로그래머스 네트워크 DFS, BFS (0) | 2021.04.19 |
[C++] 프로그래머스 타겟넘버 DFS/BFS (0) | 2021.04.02 |
[C++] 프로그래머스 H-index (0) | 2021.01.04 |