Algorithm Problem Solving/Programmers

[프로그래머스] 코딩테스트 연습 완전탐색 모의고사

코코자장자장 2021. 11. 29. 11:05

안녕하세요! 오늘은 프로그래머스 레벨1 문제 모의고사를 풀어보았습니다!

완전탐색이긴한데 그냥 for문 돌리면서 쭉 값 비교만하면 되는 거라 for문 문제같네요!

 

수포자 3명 테이블 만들어서 for문으로 풀어보았습니다!

 


#include <string>
#include <vector>

using namespace std;

vector<int> solution(vector<int> answers) {
    int spjrepeat[3][10] = {{1,2,3,4,5,}, 
                            {2,1,2,3,2,4,2,5,}, 
                            {3,3,1,1,2,2,4,4,5,5}};
    int res[3] = {0,};
    vector<int> answer;
    int size = answers.size();
    for(int i = 0; i < size; i++){
        if(spjrepeat[0][i %  5] == answers[i]) res[0]++;
        if(spjrepeat[1][i %  8] == answers[i]) res[1]++;
        if(spjrepeat[2][i % 10] == answers[i]) res[2]++;
    }
    int maxres = 0;
    if (res[0] >= res[1]) {
        if (res[0] >= res[2]) {
            maxres = res[0];
        }
        else {
            maxres = res[2];
        }
    } else {
        if (res[1] >= res[2]) {
            maxres = res[1];
        }
        else {
            maxres = res[2];
        }
    }
    for(int i = 0; i < 3; i++){
        if(maxres == res[i])
        answer.push_back(i+1);
    }
    
    return answer;
}