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;
}
전체 학생 수에서 분실한 학생 수를 뺄 때
여벌의 체육복을 분실한 학생의 경우는 제외해야하는걸 몇번이나 틀리고서야 알았다
문제를 잘 읽자 !!
'코딩테스트' 카테고리의 다른 글
[프로그래머스] 같은 숫자는 싫어 js javascript (0) | 2024.05.09 |
---|---|
[프로그래머스 / dfs ] 타겟 넘버 js javascript (0) | 2024.05.07 |
[프로그래머스] 문자열 나누기 javascript js (0) | 2024.04.18 |
[프로그래머스] 신규 아이디 추천 js javascript (0) | 2024.04.15 |
[프로그래머스]개인정보 수집 유효기간 javascript (2) | 2024.04.12 |