๋ฐฑ์ค€[node.js] > 1931๋ฒˆ

2025. 1. 9. 23:40ยท๐Ÿ”’Algorithm

๋ฌธ์ œ๋งํฌ

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

 

๋ฌธ์ œํ’€์ด

์ด ๋ฌธ์ œ๋Š” ์ •๋ ฌ ๊ธฐ์ค€์„ ํ™•๋ฆฝํ•˜๋Š”๊ฒŒ ํ•ต์‹ฌ์ด๋‹ค. ์ตœ๋Œ€ํ•œ์˜ ๋งŽ์€ ๊ฐ•์˜๋ฅผ ๋“ฃ๊ธฐ ์œ„ํ•ด์„œ๋Š”

1. ๊ฐ•์˜์˜ ๋๋‚˜๋Š” ์‹œ๊ฐ„์ด ๋น ๋ฅธ ๊ฒƒ ๋ถ€ํ„ฐ ์˜ค๋ฆ„์ฐจ์ˆœ

2. ๊ฐ•์˜ ๋๋‚˜๋Š” ์‹œ๊ฐ„์ด ๊ฐ™์„ ๋•Œ๋Š” ๊ฐ•์˜ ์‹œ๊ฐ„์ด ๊ฐ€์žฅ๋Šฆ์€ ๊ฒƒ ๋ถ€ํ„ฐ ๋‚ด๋ฆผ์ฐจ์ˆœ but ์‹œ์ž‘ํ•˜๋Š” ์‹œ๊ฐ„ = ๋๋‚˜๋Š” ์‹œ๊ฐ„ ์ผ๋•Œ๋Š” ๋’ค์— ๋ฐฐ์น˜ ํ•ด์•ผํ•œ๋‹ค. 

์œ„ ์กฐ๊ฑด๋Œ€๋กœ ๋ฐฐ์—ด์„ ์ •๋ ฌํ•  ์‹œ ์ตœ๋Œ€ ๊ฐ•์˜๋ฅผ ์ง„ํ–‰ํ•  ์ˆ˜ ์žˆ๋‹ค. ์ฒ˜์Œ์—๋Š” ํ™• ์™€๋‹ฟ์ง€ ์•Š๊ฒ ์ง€๋งŒ ์Šค์Šค๋กœ ๋ช‡๊ฐœ์˜ ์ผ€์ด์Šค๋ฅผ ๋งŒ๋“ค๊ณ  ์ง„ํ–‰ํ•˜๋‹ค ๋ณด๋ฉด ์™œ ์œ„ ์กฐ๊ฑด์œผ๋กœ ์ •๋ ฌํ•˜๋Š”์ง€ ๋ฐ”๋กœ ์ดํ•ด ํ•  ์ˆ˜ ์žˆ๋‹ค.

let fs = require("fs");
let input = fs.readFileSync("/dev/stdin").toString().trim().split("\n");

let [N, ...arr] = input;

arr = arr.map((str) => {
    return str.split(" ").map((n) => Number(n));
});


arr.sort((prev, next) => {
    // ๋๋‚˜๋Š” ์‹œ๊ฐ„์ด ๊ฐ™์„๋•Œ 
    if (prev[1] === next[1]) {
        
        // ์‹œ์ž‘์‹œ๊ฐ„ = ๋๋‚˜๋Š” ์‹œ๊ฐ„์ด ๊ฐ™์„ ๋•Œ๋Š” ๋งจ๋’ค๋กœ ๋นผ๊ธฐ 
        if (prev[0] === prev[1]) {
            return 1;
        } else if (next[0] === next[1]) {
            return -1;
        }
        
        // ์‹œ์ž‘์‹œ๊ฐ„์ด ๋А๋ฆด ์ˆ˜๋ก ์•ž์— ๋ฐฐ์น˜
        return next[0] - prev[0];
    }
    
    // ๋๋‚˜๋Š” ์‹œ๊ฐ„์ด ๋น ๋ฅผ์ˆ˜๋ก ์•ž์œผ๋กœ ๋ฐฐ์ •
    return prev[1] - next[1];
});

answer = 1;

let lectureEndTime = arr[0][1];

for (let i = 1; i < Number(N); ++i) {
    let [startTime, endTime] = arr[i];
    if (lectureEndTime <= startTime) {
        ++answer;
        lectureEndTime = endTime;
    }
}

console.log(answer);

'๐Ÿ”’Algorithm' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

๋ฐฑ์ค€[JS] > 1620๋ฒˆ ๋‚˜๋Š”์•ผ ํฌ์ผ“๋ชฌ ๋งˆ์Šคํ„ฐ ์ด๋‹ค์†œ  (0) 2025.01.13
๋ฐฑ์ค€[JS] > 7762๋ฒˆ ์ด์ค‘ ์šฐ์„ ์ˆœ์œ„ ํ  (0) 2025.01.12
๋ฐฑ์ค€[node.js] > 5430๋ฒˆ AC  (0) 2025.01.07
๋ฐฑ์ค€[node.js] > 9461๋ฒˆ ํŒŒ๋„๋ฐ˜ ์ˆ˜์—ด  (0) 2025.01.05
๋ฐฑ์ค€[node.js] > 11399๋ฒˆ ATM  (0) 2025.01.02
'๐Ÿ”’Algorithm' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
  • ๋ฐฑ์ค€[JS] > 1620๋ฒˆ ๋‚˜๋Š”์•ผ ํฌ์ผ“๋ชฌ ๋งˆ์Šคํ„ฐ ์ด๋‹ค์†œ
  • ๋ฐฑ์ค€[JS] > 7762๋ฒˆ ์ด์ค‘ ์šฐ์„ ์ˆœ์œ„ ํ
  • ๋ฐฑ์ค€[node.js] > 5430๋ฒˆ AC
  • ๋ฐฑ์ค€[node.js] > 9461๋ฒˆ ํŒŒ๋„๋ฐ˜ ์ˆ˜์—ด
devWarrior
devWarrior
  • devWarrior
    devWarrior
    devWarrior
  • ์ „์ฒด
    ์˜ค๋Š˜
    ์–ด์ œ
    • ๐ŸงฉDev (263)
      • โญFE (34)
      • ๐Ÿ”’Algorithm (155)
      • โž•Etc. (11)
  • ๋ธ”๋กœ๊ทธ ๋ฉ”๋‰ด

    • ํ™ˆ
    • ํƒœ๊ทธ
    • ๋ฐฉ๋ช…๋ก
    • ๊ธ€์“ฐ๊ธฐ
    • ๊ด€๋ฆฌ
  • ๋งํฌ

  • ๊ณต์ง€์‚ฌํ•ญ

  • ์ธ๊ธฐ ๊ธ€

  • ํƒœ๊ทธ

    Lv2
    BFS
    ์‹ค๋ฒ„1
    ์ž์Šค
    FE
    ์•Œ๊ณ ๋ฆฌ์ฆ˜
    nodejs
    ์ฝ”ํ…Œ
    ๊ณจ๋“œ5
    Easy
    DFS
    leetcode
    dp
    ์‹ค๋ฒ„2
    ๊ทธ๋ฆฌ๋””
    Algorithm
    ํ”„๋กœ๊ทธ๋ž˜๋จธ์Šค
    javascript
    ํ‹ฐ์Šคํ† ๋ฆฌ์ฑŒ๋ฆฐ์ง€
    react
    js
    ์˜ค๋ธ”์™„
    ๊ตฌํ˜„
    ์‹ค๋ฒ„3
    ์ฝ”๋”ฉํ…Œ์ŠคํŠธ
    ํ”„๋ก ํŠธ์—”๋“œ
    ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ
    ์‹ค๋ฒ„4
    ๋ฐฑ์ค€
    node.js
  • ์ตœ๊ทผ ๋Œ“๊ธ€

  • ์ตœ๊ทผ ๊ธ€

  • hELLOยท Designed By์ •์ƒ์šฐ.v4.10.3
devWarrior
๋ฐฑ์ค€[node.js] > 1931๋ฒˆ
์ƒ๋‹จ์œผ๋กœ

ํ‹ฐ์Šคํ† ๋ฆฌํˆด๋ฐ”