프로그래머스 - 체육복
2020-01-15
체육복
const getStudent = (n, lost, reserve) => {
// 전체학생이 있다. 잃어버린 학생. 여분을 가지고 온 학생
let studentArr = Array(n).fill(1);
for (let v of reserve) {
studentArr[v - 1]++;
}
for (let v of lost) {
studentArr[v - 1]--;
}
for (let i = 0; i < studentArr.length; i++) {
if (studentArr[i] === 0 && studentArr[i - 1] === 2) {
studentArr[i - 1]--;
studentArr[i]++;
} else if (studentArr[i] === 0 && studentArr[i + 1] === 2) {
studentArr[i + 1]--;
studentArr[i]++;
}
}
return studentArr.filter(v => v > 0).length;
};
test("체육복", () => {
// expect(getStudent(3,[1,2],[2,3])).toEqual(2);
expect(getStudent(2, [1], [2])).toEqual(2);
});