Notice
Recent Posts
Recent Comments
Link
ยซ   2024/09   ยป
์ผ ์›” ํ™” ์ˆ˜ ๋ชฉ ๊ธˆ ํ† 
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30
Archives
Today
Total
๊ด€๋ฆฌ ๋ฉ”๋‰ด

Lennon FE

[๋ฐฑ์ค€ 1946๋ฒˆ] ์‹ ์ž… ์‚ฌ์› - ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ(nodejs) ๋ณธ๋ฌธ

๐Ÿ”ฅ Algorithm/Baekjoon

[๋ฐฑ์ค€ 1946๋ฒˆ] ์‹ ์ž… ์‚ฌ์› - ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ(nodejs)

Lennon 2022. 1. 21. 22:20
728x90
๋ฐ˜์‘ํ˜•

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

 

1946๋ฒˆ: ์‹ ์ž… ์‚ฌ์›

์ฒซ์งธ ์ค„์—๋Š” ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ๊ฐœ์ˆ˜ T(1 ≤ T ≤ 20)๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ๊ฐ ํ…Œ์ŠคํŠธ ์ผ€์ด์Šค์˜ ์ฒซ์งธ ์ค„์— ์ง€์›์ž์˜ ์ˆซ์ž N(1 ≤ N ≤ 100,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„๋ถ€ํ„ฐ N๊ฐœ ์ค„์—๋Š” ๊ฐ๊ฐ์˜ ์ง€์›์ž์˜ ์„œ๋ฅ˜์‹ฌ์‚ฌ ์„ฑ

www.acmicpc.net

 

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

let result = [];
for (let i = 0; i < input.length; i++) {
  if (input[i].length == 1) {
    result.push(input.slice(i + 1, i + Number(input[i]) + 1));
    i += Number(input[i]);
  }
}

result = result.map((v1) => v1.map((v2) => v2.split(' ').map((v) => +v)));
result.forEach((element) => element.sort((a, b) => a[0] - b[0]));
// ์ž…๋ ฅ๊ฐ’ ์กฐ์ • ๋ [ [[1,4],[2,3],[3,2],[4,1],[5,5]], [[1,4],[2,5]...]] 3์ฐจ์› ๋ฐฐ์—ด ํ˜•์‹

// ์‹ค์ œ ๋ฌธ์ œํ’€์ด
result.forEach((v) => {
  let count = 1;
  let min = v[0][1];
  for (let i = 1; i < v.length; i++) {
    if (v[i][1] < min) {
      count++;
      min = Math.min(min, v[i][1]);
    }
  }

  console.log(count);
});

์ž…๋ ฅ๊ฐ’์— ์‹œ๊ฐ„์„ ์“ฐ๊ณ , ๋ฌธ์ œ๋ฅผ ํ’€์–ด๋ณด๋‹ˆ ๊ณ„์† ๋Ÿฐํƒ€์ž„ ์˜ค๋ฅ˜๊ฐ€ ๋‚˜์˜จ๋‹ค.

๋ฐ˜๋ก€๋กœ ๋‚˜์˜จ ์ž…๋ ฅ๊ฐ’์— ๋Œ€ํ•ด ๋ชจ๋‘ ์ •๋‹ต์ด๊ณ , ๋กœ์ง์— ๋ฌธ์ œ๊ฐ€ ์—†๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค.

 

๊ทธ๋•Œ ๋ฌธ์ œ ์งˆ๋ฌธ์—์„œ ํ•ด๋‹น ๊ธ€์„ ๋ณด๊ฒŒ๋˜์—ˆ๋‹ค.

๋ฌธ์ œ๋Š” ๋งž์•˜๋‹ค๊ณ  ์ƒ๊ฐํ•˜๊ณ  ๋„˜์–ด๊ฐˆ ์˜ˆ์ •์ด๋‹ค.. readline๊นŒ์ง€ ๊ตณ์ด ๋ฐฐ์šธ ํ•„์š”๊ฐ€ ์—†๋‹ค๊ณ  ์ƒ๊ฐํ–ˆ๋‹ค.

๋กœ์ง์€ ์ž…๋ ฅ๊ฐ’์„ 3์ฐจ์› ๋ฐฐ์—ด๋กœ ๋งŒ๋“  ํ›„

1. ์„œ๋ฅ˜ ์ ์ˆ˜ ์ˆœ์œ„๋ณ„๋กœ ์ •๋ ฌํ•œ๋‹ค. 

2. ์„œ๋ฅ˜ 1๋“ฑ์€ ๋ฌด์กฐ๊ฑด ํ†ต๊ณผ์ด๋ฏ€๋กœ count = 1๋ถ€ํ„ฐ ์‹œ์ž‘

3. ์„œ๋ฅ˜ 2 ~ ๊ผด๋“ฑ๊นŒ์ง€ ์ˆœํšŒํ•˜๋ฉฐ ์„œ๋ฅ˜, ๋ฉด์ ‘ ๋‘˜ ๋‹ค ๋‚ฎ์€ ๊ฐ’๋“ค์€ ๋ฌด์‹œํ•œ๋‹ค.

4. ๋งŒ์•ฝ ๋ฉด์ ‘์ˆœ์œ„๊ฐ€ ์„œ๋ฅ˜ ์ „ ์ˆœ์œ„๋ณด๋‹ค ๋†’์œผ๋ฉด count++ ํ•ด์ค€๋‹ค.

 

์œ ์˜์‚ฌํ•ญ - ์„œ๋ฅ˜, ๋ฉด์ ‘์ด ์ž๊ธฐ๋ณด๋‹ค ๋†’์€ ์‚ฌ๋žŒ์ด ์žˆ์œผ๋ฉด ๊ทธ ์‚ฌ๋žŒ์€ ํƒˆ๋ฝ์ด๋ฏ€๋กœ, ์„œ๋ฅ˜ ์ˆœ์œ„๋กœ ์ •๋ ฌํ•˜๊ณ , ๊ณ„์† ๋ฉด์ ‘ ์ˆœ์œ„๊ฐ€ ๋†’์€ ๊ฒƒ์œผ๋กœ ์ดˆ๊ธฐํ™” ์‹œ์ผœ์ค€๋‹ค(์–ด์ฐจํ”ผ ๋’ค๋กœ ๊ฐˆ์ˆ˜๋ก ์„œ๋ฅ˜์ ์ˆ˜๋Š” ๋‚ฎ์•„์ง€๋ฏ€๋กœ ๋ฉด์ ‘์œผ๋กœ๋งŒ ํŒ๋ณ„ ๊ฐ€๋Šฅ!) 

728x90
๋ฐ˜์‘ํ˜•
Comments