Programers : 모의고사

김정욱·2021년 1월 18일
0

Algorithm - 문제

목록 보기
34/249
post-thumbnail
post-custom-banner

완전탐색 문제

  • 문제 난이도는 매우 쉽다.
  • 3 학생의 답안을 비교하는 방법을 효율적으로 하고 싶었다.
  • 게다가 max값이 여러개가 나올 수 있어서 귀찮은 8개의 조건을 다는 최악을 피하고 싶었다.
  • 다행히 가장 효율적인 코드와 같은 로직이여서 만족했다.

코드

#include <string>
#include <vector>

using namespace std;
int a1[5]={1,2,3,4,5};
int a2[8]={2,1,2,3,2,4,2,5};
int a3[10]={3,3,1,1,2,2,4,4,5,5};
vector<int> solution(vector<int> answers) {
    vector<int> dap(3,0);
    vector<int> answer;
    for(int i=0;i<answers.size();i++)
    {
        if(answers[i] == a1[i%5])
            dap[0]++;
        if(answers[i] == a2[i%8])
            dap[1]++;
        if(answers[i] == a3[i%10])
            dap[2]++;
    }
    int MAX = max(dap[0],max(dap[1],dap[2]));
    for(int i=0;i<3;i++)
    {
        if(dap[i] == MAX)
            answer.push_back(i+1);
    }
    return answer;
}
profile
Developer & PhotoGrapher
post-custom-banner

0개의 댓글