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

DonQ·2022년 3월 23일
0

CodingTest

목록 보기
5/33
post-thumbnail

문제 (출처)

👉 https://programmers.co.kr/learn/courses/30/lessons/77484

나의 접근

  • 문제를 읽고 첫번째, 나의 로또와 당첨번호와 비교 하여 맞은 당첨숫자 갯수를 파악하야겠다. 라고 생각했다.

  • 두번째, 0의 갯수를 파악하였다.

  • 그래서 가장 높은 등수에는 0이 모두 당첨 됬을때, 가장 낮은 등수는 0이 모두 당첨되지 않았을때로 가정하였다.

  • 당첨 숫자 갯수와 순위를 연결하는것에 대해 고민을 하다, 등수와 당첨 숫자를 더하면 모두 7이라는 것으로 삼항 조건 연산자를 활용하여 문제를 해결하였다.

풀이

function solution(lottos, win_nums) {
    let answer = [];
    const zero = lottos.filter((val) => val === 0).length;
    const correct = lottos.filter((val) => win_nums.includes(val));
    
    const maxRank = 7 - correct - zero >= 6 ? 6 : 7 - correct - zero;
    const minRank = 7 - correct >= 6 ? 6 : 7 - correct;
    answer.push(maxRank, minRank)
    return answer;
}

오늘의 배운점 및 교훈

  • 삼항 조건 연산자의 위대함을 다시 한번 느꼈다!
    (저거 아니었으면, if elseif 파티 했을듯)

  • filter 사용하면 참으로 편하게 코드를 작성할 수 있다.

  • 벌써 5번째 포스트이다... 혹시 나 작심삼일로 끝날까 걱정했지만, 그래도 꾸준히 해서 실력을 키우즈아!

profile
꾸준히 쌓아가는 코딩 Study

0개의 댓글

Powered by GraphCDN, the GraphQL CDN