로또 최고 최저 순위

문제링크

로또 6/45(이하 '로또'로 표기)는 1부터 45까지의 숫자 중 6개를 찍어서 맞히는 대표적인 복권입니다. 아래는 로또의 순위를 정하는 방식입니다.

순위 당첨 내용
1 6개 번호가 모두 일치
2 5개 번호가 일치
3 4개 번호가 일치
4 3개 번호가 일치
5 2개 번호가 일치
6(낙첨) 그 외

당첨 번호	31	10	45	1	6	19	결과
최고 순위 번호	31	0→10	44	1	0→6	25	4개 번호 일치, 3등
최저 순위 번호	31	0→11	44	1	0→7	25	2개 번호 일치, 5등

내가 작성한 코드

function solution(lottos, win_nums) {
    var answer = [];   // [ 최고순위, 최저순위 ]
    let zeroNumCount = 0; // 0의 개수
    let sameNumCount = 0; // 일치하는 숫자의 개수
    // 0의 개수를 찾기
    for(let n = 0; n < lottos.length; n++) {
        if(lottos[n] === 0) {
            zeroNumCount += 1;
        }
    }

    // 일치하는 숫자의 개수 찾기
    for(let i = 0; i < lottos.length; i++) {
        for(let j = 0; j < win_nums.length; j++) {
            if(lottos[i] === win_nums[j]) {
                sameNumCount += 1;
            }
        }
    }
    
    // 일치하는 숫자 개수, 0의 개수가 0일때
    if(sameNumCount === 0 && zeroNumCount === 0) {
        answer.push(6)
    } else {
        answer.push(7-(sameNumCount+zeroNumCount))
    }

    // 일치하는 숫자가 1개 이하일때
    if(sameNumCount <= 1) {
        answer.push(6)
    } else{
            answer.push(7-sameNumCount)
    }
        return answer;
}

좋은 웹페이지 즐겨찾기