[x, y]좌표 중 x는 회의 시작시간, y는 회의 끝나는 시간이다. 2차원 배열이 주어지고, 최대한 많은 회의를 할 수 있는 수를 리턴하는 문제이다. 단, 시작시간과 끝나는 시간이 같은 경우도 있음.
function solution(meeting){
let answer=0;
meeting.sort((a, b)=> {
if (a[1] < b[1]) return a[1]-b[1];
else return a[0]-b[0];
});
for (let i=0; i<meeting.length-1; i++) {
if (meeting[i] <= meeting[i+1] && meeting[i][0] <= meeting[i+1][1]) answer++;
}
return answer;
}
//let arr=[[3, 3], [1, 3], [2, 3]]
let arr=[[1, 4], [2, 3], [3, 5], [4, 6], [5, 7]];
console.log(solution(arr));
function solution(meeting){
let answer=0;
meeting.sort((a, b)=>{
if(a[1]===b[1]) return a[0]-b[0];
else return a[1]-b[1];
});
let et=0;
for (let x of meeting) {
if(x[0]>=et) {
answer++;
et=x[1];
}
}
return answer;
}
//let arr=[[3, 3], [1, 3], [2, 3]]
let arr=[[1, 4], [2, 3], [3, 5], [4, 6], [5, 7]];
console.log(solution(arr));