Computer >> 컴퓨터 >  >> 프로그램 작성 >> JavaScript

JavaScript의 회의실 2 문제

<시간/>

배열 배열이 제공되며, 각 하위 배열은 회의 시작 시간과 종료 시간을 나타내는 정확히 두 개의 요소로 구성됩니다.

우리 기능의 임무는 시간의 충돌을 피하기 위해 한 사람이 가질 수 있는 최대 회의 수를 찾는 것입니다. 함수는 마침내 이 숫자를 반환해야 합니다.

예를 들어 -

회의 시간을 설명하는 입력 배열이 -

인 경우
const arr = [[5, 40], [10, 20], [25, 35]];

그러면 출력은 다음과 같아야 합니다. -

const output = 2;

시간이 겹쳐서 세 번 다 참석할 수는 없지만 [10, 20], [25, 35]에는 참석할 수 있기 때문입니다.

예시

이에 대한 코드는 -

const arr = [[5, 40], [10, 20], [25, 35]];
const canAttendAll = (arr = []) => {
   const times = new Set();
   const { length } = arr;
   for (let i = 0; i < length; i += 1) {
      for (let j = arr[i][0]; j < arr[i][1]; j += 1) {
         if (times.has(j)) {
            return false;
         } else {
            times.add(j);
         };
      };
   };
   return true;
};
console.log(canAttendAll(arr));

출력

콘솔의 출력은 -

false