ALGORITHM/Kakao

(C++ )2021 Dev-Matching 로또의 최고 순위와 최저 순위

김쿸후 2021. 5. 13. 01:15

1. 문제

programmers.co.kr/learn/courses/30/lessons/77484

 

코딩테스트 연습 - 로또의 최고 순위와 최저 순위

로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다. 1 순위 당첨 내용 1 6개 번호가 모두 일치 2 5개 번호

programmers.co.kr

2. 코드

#include <string>
#include <vector>

using namespace std;

vector<int> solution(vector<int> lottos, vector<int> win_nums) {
    int zeronum = 0;
    int win = 0;
    
    for(int i = 0 ; i < 6; i++){
        if(lottos[i] == 0){
            zeronum++;
        }
        else {
            for(int j = 0; j < 6;j++){
                if(lottos[i] == win_nums[j]){
                    win++;
                }
            }
        }
    }
    
    vector<int> answer;
    
     if(win+zeronum < 2){
        answer.push_back(6);
    }
    else{
     answer.push_back(7-(win + zeronum));
    }
   
    if(win < 2){
        answer.push_back(6);
    }
    else{
        answer.push_back(7-win);
    }
    return answer;
}