회의실 배정
- 강의 듣기 전 풀이
function sort(coordinates) {
return coordinates.sort(([xOfFormer, yOfFormer], [xOfLatter, yOfLatter]) => {
if (xOfFormer == xOfLatter) {
return yOfFormer < yOfLatter ? -1 : 1;
}
return xOfFormer < xOfLatter ? -1 : 1;
});
}
function solution(arr) {
let max = 0;
arr = sort(arr);
for (let i = 0; i < arr.length - 1; i++) {
let end = arr[i][1];
let count = 1;
for (let j = i + 1; j < arr.length; j++) {
const [curStart, curEnd] = arr[j];
if (curStart >= end) {
end = curEnd;
count++;
}
}
if (count > max) max = count;
}
return max;
}
// const result = solution([
// [1, 4],
// [2, 3],
// [3, 5],
// [4, 6],
// [5, 7],
// ]);
const result = solution([
[3, 3],
[1, 3],
[2, 3],
]);
console.log(result);
- 강의 반영한 풀이
function sort(coordinates) {
return coordinates.sort((former, latter) =>
former[1] == latter[1] ? former[0] - latter[0] : former[1] - latter[1],
);
}
function solution(arr) {
arr = sort(arr);
console.log(arr);
let end = 0;
let count = 0;
for (let i = 0; i < arr.length; i++) {
const [curStart, curEnd] = arr[i];
if (curStart >= end) {
end = curEnd;
count++;
}
}
return count;
}
// const result = solution([
// [1, 4],
// [2, 3],
// [3, 5],
// [4, 6],
// [5, 7],
// ]);
const result = solution([
[3, 3],
[1, 3],
[2, 3],
]);
console.log(result);
일찍 끝나는 순으로 정렬...
Author And Source
이 문제에 관하여(회의실 배정), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://velog.io/@woobuntu/회의실-배정저자 귀속: 원작자 정보가 원작자 URL에 포함되어 있으며 저작권은 원작자 소유입니다.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)