프로그래머스 Level 1 - 로또의 최고 순위와 최저 순위 - arr.filter(v => !v) false반환

크롱·2023년 11월 20일
0

코딩테스트

목록 보기
49/61

모범 풀이

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;
 //0은 false니까 0의 갯수를!v로 
    const maxCount = minCount + zeroCount;

    return [rank[maxCount], rank[minCount]];
}

나의 풀이

function solution(lottos, win_nums) {
    var answer = [];
    const 등수 = [6,5,4,3,2,1]
    let 겹치는수=0;
      win_nums.sort((a,b)=>a-b)
    lottos.sort((a,b)=>a-b)
   lottos= lottos.filter(el=>el!==0)


    for(const el of lottos){
       if( win_nums.includes(el)){
           겹치는수+=1
       }
    }

    if(겹치는수===0){
           answer.push(등수[0])
    }else{   answer.push(등수[겹치는수-1])}

 const 최대갯수= (6-lottos.length)+겹치는수

 if(최대갯수===0){
     answer.unshift(등수[0])
 }else{answer.unshift(등수[최대갯수-1])}

   return answer;
}
profile
👩‍💻안녕하세요🌞

0개의 댓글