Programmers 42840 모의고사

로고 이미지

문제 링크 : https://programmers.co.kr/learn/courses/30/lessons/42840

나의 풀이

반복되는 부분을 미리 정의해두어 각각의 문제를 맞췄는지 확인

풀이 코드 : 42840 모의고사

#include <string>
#include <vector>
#include <iostream>

using namespace std;

vector<int> solution(vector<int> answers) {
    vector<int> answer;
    vector<vector<int>> out;
    out.resize(3);
    out[0] = {1, 2, 3, 4, 5};
    out[1] = {2, 1, 2, 3, 2, 4, 2, 5};
    out[2] = {3, 3, 1, 1, 2, 2, 4, 4, 5, 5};
    int cnt[] = {0, 0, 0};
    int max_cnt = 0;
    for(int i=0;i<answers.size();i++){
        for(int k=0;k<3;k++){
            int idx = i%out[k].size();
            if(out[k][idx] == answers[i]){
                cnt[k]++;
                if(cnt[k] > max_cnt) max_cnt = cnt[k];
            }
        }
    }
    for(int i=0;i<3;i++){
        if(cnt[i] == max_cnt) answer.push_back(i+1);
    }
    return answer;
}

채점결과

42586


© 2020. All rights reserved.

Powered by Hydejack v8.4.0