**answer와 answers를 헷갈리지 마시오...이것때문에 10분이면 풀 문제를 30분 넘게 풀었다..
함수 이름도 꼼꼼하게 확인해야겠다
#include <string>
#include <vector>
using namespace std;
vector<int> solution(vector<int> answers) {
vector<int> answer;
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 count1=0;
int count2=0;
int count3=0;
//size
for(int i=0;i<answers.size();i++){
int i1=i%5;
int i2=i%8;
int i3=i%10;
if(answers[i]==person1[i1])
count1++;
if(answers[i]==person2[i2])
count2++;
if(answers[i]==person3[i3])
count3++;
}
int max2=max(count1,max(count2,count3));
if(count1==max2)
answer.push_back(1);
if(count2==max2)
answer.push_back(2);
if(count3==max2)
answer.push_back(3);
return answer;
}
https://programmers.co.kr/learn/courses/30/lessons/42840
참고로 max를 중복해서 찾아냈지만
밑에처럼 *max_element를 사용하면 벡터에 있는 최대값을 바로 찾을 수 있다.
int size;
cin >> size;
int *arr = new int[size];
for(int i=0; i<size; i++){
cin >> arr[i];
}
cout << "max값: " << *max_element(arr, arr+size) << endl;
cout << "min값: " << *min_element(arr, arr+size) << endl;
'코테 준비-문제풀기' 카테고리의 다른 글
프로그래머스 - 힙/ 더 맵게 문제 c++ (0) | 2020.07.03 |
---|---|
프로그래머스 카카오 다트게임 c++ (0) | 2020.05.08 |
프로그래머스 - 정렬 H-index 문제 (0) | 2020.05.01 |
프로그래머스-스택 '탑'문제 (0) | 2020.01.08 |
프로그래머스-정렬문제 k번째 수 (0) | 2020.01.07 |