https://softeer.ai/practice/6291
강의가 끝나는 시간이 빠른거만 계속 고르면 된다 greedy
const readline = require('readline');
const rl = readline.createInterface({
input : process.stdin,
output : process.stdout
});
const lines = [];
rl.on('line', input => {
lines.push(input.split(' ').map(e => parseInt(e)))
})
rl.on('close', () => {
const schedules = lines.slice(1).sort((a, b) => a[1]-b[1]); // 끝나는 시간을 기준으로, 오름차순
let answer = 1;
let prevEndTime = schedules[0][1];
for (let i = 1; i < schedules.length; i++) { // 순회하며 가능한 다음 강의가 있으면 answer를 더한다
const [start, end] = schedules[i];
if (prevEndTime <= start) {
answer++;
prevEndTime = end;
}
}
console.log(answer);
process.exit();
})
'알고리즘' 카테고리의 다른 글
[Softeer] 금고털이 JS (0) | 2024.01.25 |
---|---|
[Softeer] JS 입출력 (0) | 2024.01.25 |
[프로그래머스 LV2] 우박수열 JS (0) | 2024.01.19 |
[프로그래머스 LV3] 아이템 줍기 JS (0) | 2024.01.18 |
[프로그래머스] 테이블 해시 함수 JS (0) | 2024.01.14 |