function solution(n, lost, reserve) {
    var answer=0;
 
    var lostS = lost.sort((a,b)=>a-b).filter((l)=>!reserve.includes(l));
    var reserveS =reserve.sort((a,b)=>a-b).filter((r)=>!lost.includes(r));
    var cannotReserve = lost.filter((l)=>reserve.includes(l)); //여벌의체육복을 분실한 학생
    
    answer =n - (lost.length - cannotReserve.length);
    
    lostS.forEach((l)=>{
       var canReserve = reserveS.filter((c)=>c-1==l||c+1==l).sort((a,b)=>a-b);
       if(canReserve.length>0){
           reserveS=reserveS.filter((r)=>r!==canReserve[0]);
           answer++;
       }
   
    })

    
    return answer;
}

 

전체 학생 수에서 분실한 학생 수를 뺄 때 

여벌의 체육복을 분실한 학생의 경우는 제외해야하는걸 몇번이나 틀리고서야 알았다 

문제를 잘 읽자 !!

+ Recent posts