❗ 문제 설명
❗ 입출력 예
❗ 주의사항
✍ 문제풀이
function solution(n, lost, reserve) {
let answer = [];
// 정렬
lost.sort((a, b) => a - b);
reserve.sort((a, b) => a - b)
// 체육복을 도난당하지 않은 학생 구하기
for (let i = 1; i <= n; i++) {
if (!lost.includes(i)) answer.push(i);
}
// 체육복을 도난당했지만 여벌옷이 있는 학생 구하기 -> lost와 reserve 배열 정리
for (let i = 0; i < lost.length; i++) {
if (reserve.includes(lost[i])) {
for (let j = 0; j < reserve.length; j++) {
if (lost[i] === reserve[j]) {
answer.push(reserve[j]);
lost[i] = null;
reserve[j] = null;
}
}
reserve = reserve.filter(item => item !== null);
}
}
lost = lost.filter(item => item !== null)
// 체육복을 도난 당한 학생 중 앞이나 뒷번호 친구가 여벌 체육복이 있다면 빌리기
for (let i = 0; i < lost.length; i++) {
for (let j = 0; j < reserve.length; j++) {
if (lost[i]-1 === reserve[j] || lost[i]+1 === reserve[j]) {
answer.push(lost[i]);
reserve[j] = null;
break;
}
}
reserve = reserve.filter(item => item !== null)
}
return answer.length;
}