꾸준한 개발자

계속적인 성장을 추구하는 개발자입니다. 꾸준함을 추구합니다.

계속 쓰는 개발 노트

JAVASCRIPT/자바스크립트 알고리즘

[프로그래머스 Lv.1] 체육복

gold_dragon 2020. 12. 31. 17:39
function solution(n, lost, reserve) {
  const students = Array(n).fill(1);

  const afterStudents = students.map((amount, i) => {
    if (lost.includes(i + 1)) --amount;
    if (reserve.includes(i + 1)) ++amount;
    return amount;
  });

  afterStudents.forEach((amount, i, arr) => {
    if (amount === 0 && i !== arr.length - 1 && arr[i + 1] === 2) {
      arr[i] += 1;
      arr[i + 1] -= 1;
    } else if (amount === 0 && i !== 0 && arr[i - 1] === 2) {
      arr[i] += 1;
      arr[i - 1] -= 1;
    }
  });

  return afterStudents.filter(amount => amount > 0).length;
}