최대 1 분 소요

Question

Q Q2


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;
}

Result

Result