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 |