문제 : https://programmers.co.kr/learn/courses/30/lessons/42862?language=javascript

코드1.

function solution(n, lost, reserve) {

  let lost2 = lost.filter(i => reserve.indexOf(i) === -1).sort((a, b) => a - b);
  let reserve2 = reserve.filter(i => lost.indexOf(i) === -1).sort((a, b) => a - b);


  let cnt = 0;

  for(let i = 0; i < lost2.length; i++){
      for(let j = 0; j < reserve2.length; j++){
          if(reserve2[j] === 0){
              continue;
          }
          else if(lost2[i] === reserve2[j] - 1 || lost2[i] === reserve2[j] + 1){
              lost2[i] = 0;
              reserve2[j] = 0;
              cnt++;
          }
      }
}
  cnt = lost2.length - cnt;
  return n - cnt;
}

Note!!

항상 문제를 잘 읽으시오. 중복되어 문제해결에 도움이 안된다면 filter를 사용해서 제거하고, sort로 정렬해서 비교하시오! 화이팅!

Leave a comment

이메일 주소는 공개되지 않습니다. 필수 항목은 *(으)로 표시합니다