[Programmers] Level1 : 로또의 최고 순위와 최저 순위
Question
Solution
- 내 로또 번호와 정답 번호를 비교하여 0을 제외한 몇개를 맞춘지 확인한다.
- idx = 맞춘 수가 되는 rank 배열을 선언한다.
- 최고 = 맞춘 수 + 0 / 최저 = 맞춘 수 가 된다.
Cord
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
vector<int> solution(vector<int> lottos, vector<int> win_nums)
{
vector<int> answer;
int rank[7] = { 6, 6, 5, 4, 3, 2, 1 };
int correctNum = 0;
int zeroCnt = 0;
// 일치하는 번호 카운팅
for (int i : lottos)
{
if (i == 0) { ++zeroCnt; continue; }
if (find(win_nums.begin(), win_nums.end(), i) != win_nums.end())
{
++correctNum;
}
}
// 최고 순위 = 찾은 번호의 수 + 0의 수
// 최저 순위 = 찾은 번호의 수
int maxRank = rank[correctNum + zeroCnt];
int minRank = rank[correctNum];
answer.push_back(maxRank);
answer.push_back(minRank);
return answer;
}