# 생각

나머지 연산을 통해 값을 저장해주면 짧은 코드로 쉽게 해결 가능하다

 

 

# 전체 코드

#include <bits/stdc++.h>
using namespace std;

vector<int> solution(vector<int> answers) {
    vector<int> answer;

    int score[3] = {};
    int a[5] = { 1,2,3,4,5 };
    int b[8] = { 2,1,2,3,2,4,2,5 };
    int c[10] = { 3,3,1,1,2,2,4,4,5,5 };

    for (int i = 0; i < answers.size(); i++)
    {
        if (a[i % 5] == answers[i]) score[0]++;
        if (b[i % 8] == answers[i]) score[1]++;
        if (c[i % 10] == answers[i]) score[2]++;
    }

    for (int i = 0; i < 3; i++)
    {
        if (score[i] == *max_element(score, score+3))
        {
            answer.push_back(i + 1);
        }
    }

    return answer;
}

 


출처: 프로그래머스 코딩 테스트 연습, https://programmers.co.kr/learn/challenges

'Algorithm > 프로그래머스' 카테고리의 다른 글

[Lv.2] 가장 큰 수 with cpp  (0) 2022.03.05
[Lv.1] K번째수 with cpp  (0) 2022.03.05
[Lv.3] 여행경로 with cpp  (0) 2022.03.05
[Lv.3] 단어 변환 with cpp  (0) 2022.03.04
[Lv.3] 네트워크 with cpp  (0) 2022.03.03

+ Recent posts