반응형
풀이
#include <string>
#include <vector>
using namespace std;
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};
int max(int a, int b){
return a < b ? b : a;
}
vector<int> solution(vector<int> answers) {
vector<int> answer;
vector<int> score(3);
int maxScore = 0;
for(int i=0; i < answers.size(); i++){
if(tester1[i % 5] == answers[i]) score[0]++;
if(tester2[i % 8] == answers[i]) score[1]++;
if(tester3[i % 10] == answers[i]) score[2]++;
}
maxScore = max(max(score[0],score[1]),score[2]);
for (int i=0; i<3; i++){
if(score[i] == maxScore) answer.push_back(i+1);
}
return answer;
}
채점 결과
총평
먼저 찍는 방식을 정의해놓았습니다. 그 후 5, 8, 10 번째마다 찍는 방식과 정답을 비교합니다. 그리고 같은 경우에 해당 score을 1씩 더해줍니다. 그 후 max 함수를 정의하여 최대값을 얻어 maxScore에 초기화합니다. 그 후, 최대값과 동일한 경우에 해당하는 수포자만 push 해준 뒤 반환합니다.
반응형
'SW > 알고리즘' 카테고리의 다른 글
C++ : 프로그래머스 : 같은 숫자는 싫어 : 풀이 (0) | 2019.05.31 |
---|---|
C++ : 프로그래머스 : 체육복: 풀이 (0) | 2019.05.28 |
C++ : 프로그래머스 : K번째수: 풀이 (0) | 2019.05.28 |
C++ : 프로그래머스 : 완주하지 못한 선수 : 풀이 (1) | 2019.05.27 |
C++ : 프로그래머스 : 소수의 합 : 풀이 (0) | 2019.05.26 |