1장 문제 설명

로또의 순위를 정하는 방식입니다.

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

로또를 구매한 민우는 당첨 번호 발표일을 학수고대하고 있었습니다. 하지만, 민우의 동생이 로또에 낙서를 하여, 일부 번호를 알아볼 수 없게 되었습니다. 당첨 번호 발표 후, 민우는 자신이 구매했던 로또로 당첨이 가능했던 최고 순위와 최저 순위를 알아보고 싶어 졌습니다.

lottos는 길이 6인 정수 배열입니다.
lottos의 모든 원소는 0 이상 45 이하인 정수입니다.
0은 알아볼 수 없는 숫자를 의미합니다.
0을 제외한 다른 숫자들은 lottos에 2개 이상 담겨있지 않습니다.
lottos의 원소들은 정렬되어 있지 않을 수도 있습니다.
win_nums은 길이 6인 정수 배열입니다.
win_nums의 모든 원소는 1 이상 45 이하인 정수입니다.
win_nums에는 같은 숫자가 2개 이상 담겨있지 않습니다.
win_nums의 원소들은 정렬되어 있지 않을 수도 있습니다.

민우가 구매한 로또 번호를 담은 배열 lottos, 당첨 번호를 담은 배열 win_nums가 매개변수로 주어집니다. 이때, 당첨 가능한 최고 순위와 최저 순위를 차례대로 배열에 담아서 return 하도록 solution 함수를 완성해주세요.

function solution(lottos, win_nums) {
    var answer = [];
    return answer;
}

2장 문제 풀이

1단계 : 최소 일치와 최대 일치에 해당하는 변수는 설정합니다.

function solution(lottos, win_nums) {
    var answer = [];
    let min = 0;
    let blank = 0;
    let max = min + blank;
    return answer;
}

2단계 : lottos에 대하여 반복문을 작성합니다.

function solution(lottos, win_nums) {
    var answer = [];
    let min = 0;
    let blank = 0;

    lottos.forEach((el) => {
    });

    let max = min + blank;
    return answer;
}

3단계 : lottos의 요소가 0인 개수를 blank에 저장합니다.

function solution(lottos, win_nums) {
    var answer = [];
    let min = 0;
    let blank = 0;

    lottos.forEach((el) => {
      if (el === 0) {
        blank++;
      }
    });

    let max = min + blank;
    return answer;
}

3단계 : lottos의 요소가 0인 개수를 blank에 저장합니다.