[標準/JavaScript]1931号:会議室の手配
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);
Reference
この問題について([標準/JavaScript]1931号:会議室の手配), 我々は、より多くの情報をここで見つけました
https://velog.io/@kyoung-jnn/백준자바스크립트JavaScript-1931번-회의실-배정
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
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);
Reference
この問題について([標準/JavaScript]1931号:会議室の手配), 我々は、より多くの情報をここで見つけました https://velog.io/@kyoung-jnn/백준자바스크립트JavaScript-1931번-회의실-배정テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol