문제
출력예
function solution(n, lost, reserve) {
// 여벌없이 분실한 학생
let realLost = lost.filter(l => !reserve.includes(l)).sort((a, b) => a - b);
// 분실없이 여벌이 있는 학생
let realReserve = reserve.filter(r => !lost.includes(r)).sort((a, b) => a - b);
// 체육복을 빌릴 수 있는 학생 수
let answer = n - realLost.length;
for (let i = 0; i < realLost.length; i++) {
let lostNum = realLost[i];
for (let j = 0; j < realReserve.length; j++) {
let reserveNum = realReserve[j];
if (reserveNum === lostNum - 1 || reserveNum === lostNum + 1) {
answer += 1;
realReserve[j] = -1;
break;
}
}
}
return answer;
}
여벌이 있는 상태로 분실했을 경우가 있으므로 여벌없이 분실한 학생만 구하여 그에 대해서만 값을 정한다.
'알고리즘' 카테고리의 다른 글
[알고리즘]프로그래머스 LV.1 - 크레인 인형뽑기(JS) (0) | 2024.06.25 |
---|---|
[알고리즘]프로그래머스 LV.1 - 숫자짝꿍(JS) (0) | 2024.06.21 |
[알고리즘]프로그래머스LV.1 - 대충 만든 자판(JS) (0) | 2024.06.19 |
[알고리즘] 프로그래머스 LV.1 - 모의고사(JS) (1) | 2024.06.13 |
[알고리즘]프로그래머스LV.1 - 비밀지도 (0) | 2024.06.11 |