[javascript] 백준 1931번 회의실 배정

bjyyyyy·2022년 12월 21일
0

문제보기

let input = fs.readFileSync(filePath).toString().trim().split("\n");

const N = input[0];
const value = input
    .slice(1)
    .map((item) => item.split(" ").map((item) => +item))
    .sort((a, b) => {
        if (a[1] === b[1]) { // 종료시간이 같으면 시작시간 기준 정렬
            return a[0] - b[0];
        } else { // 그외 종료시간 기준 정렬
            return a[1] - b[1];
        }
    });

let [initStart, initEnd] = value[0];
let result = [value[0]];
for (let i = 1; i < N; i++) {
    const [start, end] = value[i];
    if (start >= initEnd) { // 시작시간이 이전 종료시간보다 크거나 같을때 추가
        result.push(value[i]);
        initEnd = end;
    }
}

console.log(result.length);

0개의 댓글