1.

#include <string>
#include <vector>
using namespace std;
 
vector<int> solution(vector<int> answers) 
{
    vector<int> answer;
    int p1[5= {12345};
    int p2[8= {21232425};
    int p3[10= {3311224455};
    
    int cnt1 = 0;
    int cnt2 = 0;
    int cnt3 = 0;
    for(int i = 0; i < answers.size(); i++)
    {
        int p1Idx = i % 5;
        int p2Idx = i % 8;
        int p3Idx = i % 10;
        
        if(answers[i] == p1[p1Idx])
        {
            cnt1++;
        }
        
        if(answers[i] == p2[p2Idx])
        {
            cnt2++;
        }
        
        if(answers[i] == p3[p3Idx])
        {
            cnt3++;
        }
    }
    
    int Max = max(cnt1, cnt2);
    Max = max(Max, cnt3);
    
    if(Max == cnt1)
    {
        answer.push_back(1);
    }
    
    if(Max == cnt2)
    {
        answer.push_back(2);
    }
    
    if(Max == cnt3)
    {
        answer.push_back(3);
    }
    
    return answer;
}
cs

 

 

2.

#include <string>
#include <vector>
#include <algorithm>
using namespace std;
 
vector<int> solution(vector<int> answers) 
{
    vector<int> answer;
    int p1[10001];
    int p2[10001];
    int p3[10001];
    
    int p2Idx = 1;
    for(int i = 1; i < 10001; i++)
    {
        // 1번 수포자
        if(i % 5 == 0)
        {
            p1[i] = 5;
        }
        else
        {
            p1[i] = i % 5;   
        }
        
        // 2번 수포자
        if(i % 2 == 1)
        {
            p2[i] = 2;
        }
        else
        {
            if(p2Idx % 4 == 0)
            {
                p2[i] = 5;
            }
            else if(p2Idx % 4 == 1)
            {
                p2[i] = 1;    
            }
            else if(p2Idx % 4 == 2)
            {
                p2[i] = 3;    
            }
            else if(p2Idx % 4 == 3)
            {
                p2[i] = 4;    
            }
            
            p2Idx++;
        }
        
        // 3번 수포자
        if(i % 10 == 1 || i % 10 == 2)
        {
            p3[i] = 3;
        } 
        else if(i % 10 == 3 || i % 10 == 4)
        {
            p3[i] = 1;
        }
        else if(i % 10 == 5 || i % 10 == 6)
        {
            p3[i] = 2;
        }
        else if(i % 10 == 7 || i % 10 == 8)
        {
            p3[i] = 4;
        }
        else
        {
            p3[i] = 5;
        }
    }
    
    int cnt1 = 0;
    int cnt2 = 0;
    int cnt3 = 0;
    for(int i = 0; i < answers.size(); i++)
    {
        if(answers[i] == p1[i+1])
        {
            cnt1++;
        }
    
        if(answers[i] == p2[i+1])
        {
            cnt2++;
        }
        
        if(answers[i] == p3[i+1])
        {
            cnt3++;
        }
    }
    
    int Max = max(cnt1, cnt2);
    Max = max(Max, cnt3);
    
    if(Max == cnt1)
    {
        answer.push_back(1);
    }
    
    if(Max == cnt2)
    {
        answer.push_back(2);
    }
    
    if(Max == cnt3)
    {
        answer.push_back(3);
    }
    
    return answer;
}
cs

+ Recent posts