반응형
프로그래머스 링크
https://school.programmers.co.kr/learn/courses/30/lessons/42840
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
// 정답의 반복을 벡터로 구성
vector<int> Person1 = { 1, 2, 3, 4, 5 };
vector<int> Person2 = { 2, 1, 2, 3, 2, 4, 2, 5 };
vector<int> Person3 = { 3, 3, 1, 1, 2, 2, 4, 4, 5, 5 };
// 수포자의 정답 개수를 저장
int Result1, Result2, Result3;
vector<int> solution(vector<int> answers)
{
vector<int> answer;
// 정답 맞춘 개수를 저장할 벡터
vector<int> Save;
// Size는 반복문 돌때 고정값이기 때문에 밖에 빼서 반복문에 값을 넣어주는게 좋음
size_t Size = answers.size();
for(size_t i = 0; i < Size; ++i)
{
// 나머지 연산자를 이용해 인덱스값을 구해줌
// 5 8 10은 수포자가 찍는 방식의 반복 개수
if(answers[i] == Person1[i % 5])
{
++Result1;
}
if(answers[i] == Person2[i % 8])
{
++Result2;
}
if(answers[i] == Person3[i % 10])
{
++Result3;
}
}
Save.push_back(Result1);
Save.push_back(Result2);
Save.push_back(Result3);
// max_element함수를 이용해 최대값을 구해줌
int Count = *max_element(Save.begin(), Save.end());
for(size_t i = 0; i < Save.size(); ++i)
{
// 최대 값이 같다면 answer에 푸쉬해준다 인덱스 + 1값을
if(Count == Save[i])
{
answer.push_back(i + 1);
}
}
return answer;
}
반응형
'프로그래머스 > lv1' 카테고리의 다른 글
프로그래머스 : 문자열 내림차순으로 배치하기(lv1) C++ (0) | 2022.11.14 |
---|---|
프로그래머스 : 약수의 개수와 덧셈(lv1) C++ (0) | 2022.11.05 |
프로그래머스 : 없는 숫자 더하기(lv1) C++ (0) | 2022.11.05 |
프로그래머스 : 제일 작은 수 제거하기(lv1) C++ (0) | 2022.11.05 |
프로그래머스 : 최소직사각형(lv1) C++ (0) | 2022.11.04 |
댓글