본문 바로가기
프로그래머스

프로그래머스 로또의 최고 순위와 최저 순위

by 콩순이냉장고 2021. 7. 7.

문제 URL : https://programmers.co.kr/learn/courses/30/lessons/77484

 

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

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

programmers.co.kr

 

문제 접근법 : 

로또번호가 1~45까지 밖에없으니 로또번호에 방문 처리해주면됩니다. 그런후

최대 맞힌번호의 개수를 맞힌건 카운트하고 0은 무조건 맞게해주고

최소 맞힌번호는 개수를  맞힌건 카운트하고 0은 틀렸다고 해주면 끝나는 문제입니다.

 

소스코드 :

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
//By 콩순이냉장고
#include<bits/stdc++.h>
using namespace std;
 
vector<int> solution(vector<int> lottos, vector<int> win_nums) {
 
    int visit[46= { 0 };
    int grade[7]= { 6,6,5,4,3,2,1 };
    for (int t : win_nums)
        visit[t] = 1;
    int Max = 0;
    int Min = 0;
    for (int t : lottos) {
        if (visit[t]) {
            Max++, Min++;
        }
        else if (t == 0)
            Max++;
    }
   
    return vector<int>{grade[Max], grade[Min]};
}
cs

궁금한점 혹은 모르는점 혹은 어떤질문이든 댓글은 언제나 환영입니다.