[백준/자바스크립트(JavaScript)] 1931번: 회의실 배정

8326 단어 백준백준

https://www.acmicpc.net/problem/1931

문제 풀이 ✍️

현재 회의의 끝나는 시간을 기준으로
다음 회의 시작 시간을 결정하면 최적의 방법이 도출됩니다.


const fs = require("fs");
const filePath =
  process.platform === "linux" ? "/dev/stdin" : __dirname + "/input.txt";
let input = fs.readFileSync(filePath).toString().split("\n");

let count = input[0];
let numbers = [];

for (let i = 1; i < input.length; i++) {
  if (input[i] !== "") {
    numbers.push(input[i].split(" ").map((str) => Number(str)));
  }
}

function solution(n, numbers) {
  let answer = 1;
  numbers.sort((a, b) => {
    if (a[1] === b[1]) return a[0] - b[0];
    else return a[1] - b[1];
  });

  let currentEndTime = numbers[0][1];

  for (let i = 1; i < n; i++) {
    const [start, end] = numbers[i];
    if (start >= currentEndTime) {
      currentEndTime = end;
      answer += 1;
    }
  }

  console.log(answer);
}

solution(count, numbers);

좋은 웹페이지 즐겨찾기