BOJ - 회의실 배정
BOJ - 회의실 배정
Link
https://www.acmicpc.net/problem/1931
접근 방법
- N개의 회의에 대해 각 회의의 시작 시간, 종료 시간이 주어진다.
- 그럼 한 개의 회의실에 최대 몇 개의 회의를 배정할 수 있는지 계산하면 된다.
- 그리디 유형이며, 핵심 해결 아이디어는 오름차순 정렬이다.
Code
const fs = require("fs");
const input = fs.readFileSync("/dev/stdin", "utf8").trim().split("\n");
const n = Number(input[0]);
const timeTable = input
.slice(1, n + 1)
.map((line) => line.split(" ").map(Number));
timeTable.sort((a, b) => a[1] - b[1] || a[0] - b[0]);
let cnt = 1;
let cur = 0;
for (let i = 1; i < n; i++) {
if (timeTable[cur][1] <= timeTable[i][0]) {
cur = i;
cnt++;
}
}
console.log(cnt);