function solution(n, lost, reserve) {
var answer = [];
lost=lost.sort((a,b)=>a-b);
reserve=reserve.sort((a,b)=>a-b);
for(const lostStud of lost){
for(const resStud of reserve){
if(lostStud===resStud){
lost=lost.filter(val=>val!==lostStud)
reserve=reserve.filter(val=>val!==resStud)
}
}
}
const sharedClass=letsShare(lost,reserve);
return n-sharedClass.length
}
function letsShare(lost,reserve){
for(let i = 0; i < lost.length; i++) {
for(let j = 0; j < reserve.length; j++) {
if(reserve[j] + 1 === lost[i] || reserve[j] - 1 === lost[i]) {
lost.splice(i, 1)
}
}
}
return lost
}
이 문제는 지문을 잘보고 풀어야 한다. 체육복은 번호 앞뒤 한사람에게만 줄 수 있다. 그리고 반이 도둑놈들밖에 없는지 체육복 2개가진놈들중에도 훔침 당한애가 있다. 2개 가졌으면 한개는 누구거였을까? ㅎㅎ
그리고 정렬을 해야한다.풀면서 정렬을 해야한다는 것을 알아차리지 못해서 매우 애먹었던 문제이다... 왜 코딩테스트 연습이라면서 보여주는 테스트 케이스에 그런 경우를 안넣어주는걸까?