[프로그래머스 Lv.1] 알고리즘 고득점 Kit 탐욕법(Greedy) - 체육복

김민지·2024년 3월 24일
0

✨ 정답 ✨

function solution( n, lost, reserve){
    // 빌려줄 수 있는 사람 목록 확인해야 함.
    let canLend = reserve.filter((el)=>!lost.includes(el));
    let needLend = lost.filter((el)=>!reserve.includes(el));
    canLend.sort();
    needLend.sort();
    let answer=n-needLend.length;
    let count=0;
    
    // 줄 수 있는 사람 돌면서 needLend랑 맞는지 확인
    for (let i=0;i<canLend.length;i++){
        if (needLend.includes(canLend[i]-1)){
            needLend=needLend.filter((el)=>{return el!==canLend[i]-1})
            count+=1;
        }else if (needLend.includes(canLend[i]+1)){
            needLend=needLend.filter((el)=>{return el!==canLend[i]+1})
            count+=1;
        }
    }        
    return answer+count;
    
    
}

🧵 참고한 정답지 🧵

💡💡 기억해야 할 점 💡💡

profile
이건 대체 어떻게 만든 거지?

0개의 댓글

관련 채용 정보