[프로그래머스] Lv.1 로또의 최고 순위와 최저 순위

Miro·2022년 7월 9일
0
post-thumbnail

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

문제

제한사항


입출력 예

나의 코드

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
function solution(lottos, win_nums) {
    let count = 0;
    let count_zero = 0;
    let result = [];
    
    for(let i = 0; i < lottos.length; i++){
        if(lottos[i] === 0){
            count_zero++;
        }
        for(let j = 0; j < win_nums.length; j++){
            if(lottos[i] === win_nums[j]){
                count++;            
            }
        }
    }
    let lottos_rank = [6654321]
    
    result[0= lottos_rank[count+count_zero];
    result[1= lottos_rank[count];                                                              
    
    return result;
}
cs

count, count_zero는 각각 몇 개의 로또숫자가 맞았는지, 알아볼 수 없는 숫자인 ' 0 '이 몇 개인지를 세어주는 변수이다.

이중 for문을 사용하여 lottoswin_nums의 값을 비교하여 일치 한다면 count값을 증가시킨다.

lottos에서 ' 0 '을 만난다면 count_zero값을 증가시킨다.

lottos_rank는 문제에 제시된 로또 순위를 정하는 방식으로, 0~1개는 6등, 2개는 5등 ...... 6개는 1등의 순서이다.

빈 배열 result 0번째에는 count+count_zero로 보이지 않는 숫자가 전부 당첨 번호와 일치 했을때의 결과를 할당해준다.

반대로 result 1번째에는 count로 보이지 않는 숫자가 전부 당첨 번호와 일치하지 않을때의 결과를 할당해준다.

따라서 return된 값은 result[최고순위, 최저순위]가 된다.

profile
프론트엔드 개발자(진)

0개의 댓글