코딩 테스트/프로그래머스 level1

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

fullfish 2022. 4. 27. 00:47

아이디어

최소 당첨 갯수 = 두 배열에서 일치하는 숫자 

최대 당첨 갯수 = 최소 당첨 갯수 + lottos의 0의 갯수

6개 일치가 1등

5개 일치가 2등

...

이므로

등수는 

7 - 일치갯수  (하지만 0개 일치는 6등임)

 

코드

function solution(lottos, win_nums) {
  let matchCount = 0;
  let zeroCount = 0;
  // 두 배열에서 일치하는 숫자 갯수 구함
  lottos.forEach((ele) => {
    if (win_nums.includes(ele)) matchCount++;
    // lottos 배열에서 0의 갯수 구함
    zeroCount = lottos.filter((ele) => 0 === ele).length;
  });
  let { max, min } = { max: matchCount + zeroCount, min: matchCount };
  if (max === 0) max++;
  if (min === 0) min++;
  return [7 - max, 7 - min];
}

'코딩 테스트 > 프로그래머스 level1' 카테고리의 다른 글

숫자 문자열과 영단어  (0) 2022.04.28
신규 아이디 추천  (1) 2022.04.27
신고 결과 받기  (0) 2022.04.21
체육복  (0) 2022.04.19
K번째수  (0) 2022.04.19