728x90
map을 써서 풀려다 포기하고 오랜만에 배열을 쓰려고 했더니 낯설어서
비교적 쉬운 문제임에도 시간을 좀 잡아먹었다.
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
vector<int> solution(vector<int> answers) {
vector<int> answer;
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 };
int vec[3] = { 0, };
int max_num;
for (int i = 0; i < answers.size(); i++) {
if (answers[i] == a[i % 5]) vec[0]++;
if (answers[i] == b[i % 8]) vec[1]++;
if (answers[i] == c[i % 10]) vec[2]++;
}
max_num = max({ vec[0], vec[1], vec[2] });
for (int i = 0; i < 3; i++) {
if (vec[i] == max_num) answer.push_back(i+1);
}
return answer;
}
'[C_C++]코딩테스트 연습 > [프로그래머스] level 1' 카테고리의 다른 글
[C++] 프로그래머스 - 크레인 인형뽑기 (0) | 2021.07.02 |
---|---|
[C++] 프로그래머스 - 2016년 (0) | 2021.07.02 |
[C++] 프로그래머스 - 폰켓몬 (set) (0) | 2021.06.29 |
[C++] 프로그래머스 - 키패드 누르기 (배열 노가다 + 지향할 풀이) (0) | 2021.06.25 |
[C++] 프로그래머스 - 징검다리 건너기 (0) | 2021.06.24 |