Jun 개발노트

프로그래머스 - 체육복

January 15, 2020

체육복

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);
});

Written by Junho You 배운것을 기록하자