# 생각
나머지 연산을 통해 값을 저장해주면 짧은 코드로 쉽게 해결 가능하다
# 전체 코드
#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 |