알고리즘

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

김영재0412 2022. 11. 24. 16:56

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

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

문제가 길어 링크로 대체

 

function solution(lottos, win_nums) {
    var answer = [];
    
    let c = lottos.filter(num => win_nums.includes(num)).length  // 2
    let z = lottos.filter(num => num === 0).length  // 2
    
    let min = 7 - c >= 6 ? 6 : 7 - c
    let max = z === 6 ? 1 : min - z
    
    answer.push(max,min)


    
    return answer;
}

 

우선 0을 신경쓰지말고 filterfmf 돌려 win_nums에 포함되어있는 수의 길이를 알아내면 몇개 맞았는 지 알 수 있다. 그리고 0의 갯수도 몇개인지 알아낸다. 그리고 최소는 만약 같은게 0개 또는 1개면 6등이니 7 - c가 6보다 크거나 같으면 6등이고 그게 아니면 7 - c로 등수를 알  수 있고 최대는 0이 6개면 1등이고 아니면 min 값에서 0의 갯수만큼 빼면 그만큼 더 맞힌게 되며 저 값을 answer에 푸쉬하면 해결된다.

'알고리즘' 카테고리의 다른 글

문자열 내 마음대로 정렬하기  (0) 2022.11.24
모의고사  (0) 2022.11.24
두 개 뽑아서 더하기  (0) 2022.11.24
같은 숫자는 싫어  (0) 2022.11.24
최소직사각형  (0) 2022.11.24