PS/프로그래머스

[Level1][Javascript] 체육복

returnzero 2022. 6. 24. 14:01
function solution(n, lost, reserve) {
    var answer = 0;
    let lostnum=0;
    lost.sort(function(a,b){return a-b});
    reserve.sort(function(a,b){return a-b});
    for(let i=0; i<=n;i++){
        let a= reserve.findIndex(ele=>ele===i)
        let b= lost.findIndex(ele=>ele===i)
        if ((a>=0)&&(b>=0)){
            reserve.splice(a,1);
            lost.splice(b,1);
        }
    }
    lost.forEach((e,i)=> {
        if(reserve.findIndex(element=>element=== e-1)>=0){
            let idx= reserve.findIndex(element => element===e-1);
            reserve.splice(idx,1)
            lostnum++;
        }
        else if(reserve.findIndex(element=>element===e+1)>=0){
            let idx= reserve.findIndex(element=> element===e+1);
            reserve.splice(idx,1)
            lostnum++;
        }
    })
    
    answer= n-lost.length+lostnum;
    return answer;
}

array에서 함부러 삭제하면 index꼬인다...