결론: 앞 뒤 번호끼리 서로 빌려줄 수 있을 만큼 빌려줘서 최대 인원이 체육복을 입게 하라
📌 학생들이 가진 체육복 개수는 -1(없음), 0(기본 상태), 1(여분 하나 더 있음) 중 하나다.
#include <bits/stdc++.h>
using namespace std;
int student[31];
int solution(int n, vector<int> lost, vector<int> reserve) {
int answer = 0;
for(int i = 0; i < lost.size(); i++){
student[lost[i]]--;
}
for(int i = 0; i < reserve.size(); i++){
student[reserve[i]]++;
}
for(int i = 1; i <= n; i++){
if(student[i] == -1){
if(student[i - 1] == 1){
student[i - 1] = 0;
student[i] = 0;
}
else if(student[i + 1] == 1){
student[i + 1] = 0;
student[i] = 0;
}
}
if(student[i] >= 0) answer++;
}
return answer;
}