IT,Programming/프로그래머스_코딩테스트_javascript

프로그래머스 코딩테스트 JavaScript 풀이 _체육복(최신버전)

(범) 2022. 2. 18. 16:10

나의 풀이

function solution(n, lost, reserve) {
  const realLost = lost.filter((element) => !reserve.includes(element)).sort((a, b) => a - b);

  let realReserve = reserve.filter((element) => !lost.includes(element)).sort((a, b) => a - b);

  return (
    n -
    realLost.filter((lost) => {
      const lend = realReserve.find((reserve) => Math.abs(reserve - lost) == 1);

      if (!lend) return lost;
      realReserve = realReserve.filter((reserve) => reserve !== lend);
    }).length
  );
}

- 다른사람의 풀이를 봐도 실패하는 경우가 있다. 테스트케이스가 여러 번 변형 된 모양이다. 2022년 2월18일 기준으로는 이 코드가 맞다. 여태까지 문제 중에서 가장 오랜 시간이 걸렸다. 이런게 Level 1이라니 자괴감이 올 뻔했지만 풀고나니 후련하다.

-filter / find / includes 메소드의 사용법을 익혔다.