プログラマー-模擬試験
2328 ワード
ポリシー
3つの水泡の規則性を見つけ,次いでベクトルを用いて式化した.
問題を3つの小胞子の答えと比較するため,2次元for文を用いる.
3人の逮捕者の答えは最後の後、初めてに戻る.
この部分をよく考えてみると
->残りを利用して最初の答えに戻ることができます.
これは、最大値を検索することを意味します.
一時ベクトルを作成し、キャッチャーのスコアを追加し、最大値を更新します.
最大値と捕手の値を比較しながら,本来要求された正解のベクトルを挿入する.
ソースコード #include <string>
#include <vector>
using namespace std;
vector<int> solution(vector<int> answers) {
vector<int> answer;
vector<int> score;
vector<int> v[3] = {{1,2,3,4,5} , {2,1,2,3,2,4,2,5}
, {3,3,1,1,2,2,4,4,5,5}};
for(int i = 0; i < 3; i++)
{
int size = v[i].size();
int cnt = 0;
for(int j = 0; j < answers.size(); j++)
{
if(answers[j] == v[i][j % size])
cnt++;
}
score.push_back(cnt);
}
//오름차순...
int max = -1;
for(int i = 0; i< 3; i++)
{
if(max < score[i])
max = score[i];
}
for(int i = 0; i< 3; i++)
{
if(max == score[i])
answer.push_back(i + 1);
}
return answer;
}
Reference
この問題について(プログラマー-模擬試験), 我々は、より多くの情報をここで見つけました
https://velog.io/@kwt0124/프로그래머스-모의고사
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
#include <string>
#include <vector>
using namespace std;
vector<int> solution(vector<int> answers) {
vector<int> answer;
vector<int> score;
vector<int> v[3] = {{1,2,3,4,5} , {2,1,2,3,2,4,2,5}
, {3,3,1,1,2,2,4,4,5,5}};
for(int i = 0; i < 3; i++)
{
int size = v[i].size();
int cnt = 0;
for(int j = 0; j < answers.size(); j++)
{
if(answers[j] == v[i][j % size])
cnt++;
}
score.push_back(cnt);
}
//오름차순...
int max = -1;
for(int i = 0; i< 3; i++)
{
if(max < score[i])
max = score[i];
}
for(int i = 0; i< 3; i++)
{
if(max == score[i])
answer.push_back(i + 1);
}
return answer;
}
Reference
この問題について(プログラマー-模擬試験), 我々は、より多くの情報をここで見つけました https://velog.io/@kwt0124/프로그래머스-모의고사テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol