프로그래머스 level1 - 4
로또….. 나도 되고 싶다~! ㅎㅎㅎ
내가 푼 내용
function solution(lottos, winNums) {
let minSum = 0;
let maxSum = 0;
let zeroCnt = 0;
const rank = [6,6,5,4,3,2,1];
let answer = [];
lottos.map(lotto => {
winNums.includes(lotto)? minSum+=1 : minSum+=0;
lotto == 0 ? maxSum += 1 : maxSum +=0;
});
answer.push(rank[maxSum + minSum]);
answer.push(rank[minSum]);
return answer;
}
0을 제외한 숫자들을 비교했을 때의 수를 보면, 최저 등수가 나오게 된다.
0이 전부 맞았다고 가정 하에, 최저 등수일 때의 수와 더하게 되면 최고 등수가 나온다.
문제 자체는 매우 심플했다.ㅎㅎ
다른 사람들의 정답 코드
function solution(lottos, win_nums) {
const rank = [6, 6, 5, 4, 3, 2, 1];
let minCount = lottos.filter(v => win_nums.includes(v)).length;
let zeroCount = lottos.filter(v => !v).length;
const maxCount = minCount + zeroCount;
return [rank[maxCount], rank[minCount]];
}
나와는 다르게 filter를 사용해서 수를 구하셨다.
rank 배열은 동일한 방법으로 사용하심 ㅎㅎ
저번에도 filter 관련 내용을 적었는데….ㅠㅠㅠ 아직도 익숙해지지가 않는다…
좀 더 열심히 공부해야지ㅠ_ㅠ
쓰고 자주 봐야 익숙해진다 사람은….