코드
#include <vector>
#include <algorithm> // *max_element
using namespace std;
vector<int> solution(vector<int> answers) {
vector<int> answer;
int n1[5]={1,2,3,4,5}; // 1번 수포자 패턴
int n2[8]={2,1,2,3,2,4,2,5}; // 2번 수포자 패턴
int n3[10]={3,3,1,1,2,2,4,4,5,5}; // 3번 수포자 패턴
vector<int> check={0,0,0}; // 맞은 갯수 체크
for(int i=0;i<answers.size();i++){
if(n1[i%5]==answers[i]){ // n1
check[0]++;
}
if(n2[i%8]==answers[i]){ // n2
check[1]++;
}
if(n3[i%10]==answers[i]){ // n3
check[2]++;
}
}
int maxnum=*max_element(check.begin(), check.end()); // check 값 중 가장 큰 값
for(int i=0;i<3;i++){
if(maxnum==check[i]){ // 가장 높은 점수를 받은 사람이 여럿일 경우가 있기에 가장 큰 값과 비교 후 같으면 answer 값에 추가
answer.push_back(i+1);
}
}
return answer;
}
'C++ > programmers 코딩테스트(level 1) C++' 카테고리의 다른 글
[C/C++] programmers Level 1 2016년 (0) | 2023.10.12 |
---|---|
[C/C++] programmers Level 1 명예의 전당 (1) (0) | 2023.10.12 |
[C/C++] programmers Level 1 문자열 내 마음대로 정렬하기 (0) | 2023.10.05 |
[C/C++] programmers Level 1 3진법 뒤집기 (2) | 2023.10.04 |
[C/C++] programmers Level 1 추억 점수 (0) | 2023.10.03 |