쌓고 쌓다

[프로그래머스] 모의고사 C++ 풀이 본문

알고리즘/프로그래머스

[프로그래머스] 모의고사 C++ 풀이

승민아 2022. 6. 29. 11:20

https://programmers.co.kr/learn/courses/30/lessons/42840?language=cpp 

 

코딩테스트 연습 - 모의고사

수포자는 수학을 포기한 사람의 준말입니다. 수포자 삼인방은 모의고사에 수학 문제를 전부 찍으려 합니다. 수포자는 1번 문제부터 마지막 문제까지 다음과 같이 찍습니다. 1번 수포자가 찍는

programmers.co.kr

 

전체 코드

#include <string>
#include <vector>
#include <algorithm>
using namespace std;

vector<int> solution(vector<int> answers) {
    vector<int> answer;
    int arr1[5]={1,2,3,4,5};
    int arr2[8]={2,1,2,3,2,4,2,5};
    int arr3[10]={3,3,1,1,2,2,4,4,5,5};
    int i1=0, i2=0, i3=0;
    int score[3]={0,0,0};
    
    int mScore=0;
    for(int i=0;i<answers.size();i++)
    {
        if(arr1[i1%5]==answers[i])
            score[0]++;
        if(arr2[i2%8]==answers[i])
            score[1]++;
        if(arr3[i3%10]==answers[i])
            score[2]++;
        
        if(mScore<score[0])
            mScore=score[0];
        
        if(mScore<score[1])
            mScore=score[1];
        
        if(mScore<score[2])
            mScore=score[2];
        
        i1++; i2++; i3++;
    }
    
    for(int i=0;i<3;i++)
    {
        if(score[i]==mScore)
            answer.push_back(i+1);
    }
    
    return answer;
}

 

최고점을 구하고, 차례대로 최고점과 일치하는 사람들을 넣어주면 됩니다.

Comments