본문 바로가기

알고리즘구현능력/문제해결능력

로또의 최고 순위와 최저 순위

로또의 최고 순위와 최저 순위 문제

지워진 숫자와 지워지지 않은 숫자를 체크해서 최고 순위와 최저 순위를 구하면 되는 문제다.

1. 지워진 숫자의 갯수를 체크한다.

2. 지워진 숫자가 아닌 다른 숫자와 일치하는 갯수를 찾는다.

3. 두 숫자를 찾게되면 지워진 숫자 + 일치하는 숫자 가 맞는 갯수 최고가 되고

아닌게 최저 순위가 된다.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
function solution(lottos, win_nums) {   
    var answer = [];
    let zerocount =0;
    for(let i=0;i<lottos.length;i++){
        if(lottos[i]===0){
            zerocount++;
            lottos.splice(i,1);
            i--;
        } 
    }
    let count =0;
    for(let j=0;j<win_nums.length;j++){
       const check = lottos.indexOf(win_nums[j]);
        if(check >=0){
            count++;
        }
    }
    const best = zerocount+count;
    const worst = count;
    return   [rankFormat(best) , rankFormat(worst)];
}
 
function rankFormat(num){
    switch(num){
        case 6:
            return 1;
        case 5:
            return 2;
        case 4:
            return 3;
        case 3:
            return 4;
        case 2:
            return 5;
        default:
            return 6;
    }
}
cs