๋”ฐํŒŒ๐Ÿ•
Hwaiian Pizza IT Pub
๋”ฐํŒŒ๐Ÿ•
  • ALL (62)
    • Front-End (13)
      • HTML & CSS (2)
      • JavaScript (7)
      • React (2)
      • TypeScript (0)
      • Jquery (0)
      • Git (1)
      • Editor (0)
    • Algorithms (44)
      • Baekjoon (28)
      • Programmers (13)
      • Algorithms (3)
    • Computer Science (0)
      • Math (0)
    • Conference (1)
    • Life (3)
      • Book (0)
hELLO ยท Designed By ์ •์ƒ์šฐ.
๋”ฐํŒŒ๐Ÿ•

Hwaiian Pizza IT Pub

[JS] ๋ฐฑ์ค€ 7568๋ฒˆ : ๋ฉ์น˜
Algorithms/Baekjoon

[JS] ๋ฐฑ์ค€ 7568๋ฒˆ : ๋ฉ์น˜

2022. 6. 8. 08:00
๋ฐ˜์‘ํ˜•

 

Question

์šฐ๋ฆฌ๋Š” ์‚ฌ๋žŒ์˜ ๋ฉ์น˜๋ฅผ ํ‚ค์™€ ๋ชธ๋ฌด๊ฒŒ, ์ด ๋‘ ๊ฐœ์˜ ๊ฐ’์œผ๋กœ ํ‘œํ˜„ํ•˜์—ฌ ๊ทธ ๋“ฑ์ˆ˜๋ฅผ ๋งค๊ฒจ๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ์–ด๋–ค ์‚ฌ๋žŒ์˜ ๋ชธ๋ฌด๊ฒŒ๊ฐ€ x kg์ด๊ณ  ํ‚ค๊ฐ€ y cm๋ผ๋ฉด ์ด ์‚ฌ๋žŒ์˜ ๋ฉ์น˜๋Š” (x, y)๋กœ ํ‘œ์‹œ๋œ๋‹ค. ๋‘ ์‚ฌ๋žŒ A ์™€ B์˜ ๋ฉ์น˜๊ฐ€ ๊ฐ๊ฐ (x, y), (p, q)๋ผ๊ณ  ํ•  ๋•Œ x > p ๊ทธ๋ฆฌ๊ณ  y > q ์ด๋ผ๋ฉด ์šฐ๋ฆฌ๋Š” A์˜ ๋ฉ์น˜๊ฐ€ B์˜ ๋ฉ์น˜๋ณด๋‹ค "๋” ํฌ๋‹ค"๊ณ  ๋งํ•œ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ์–ด๋–ค A, B ๋‘ ์‚ฌ๋žŒ์˜ ๋ฉ์น˜๊ฐ€ ๊ฐ๊ฐ (56, 177), (45, 165) ๋ผ๊ณ  ํ•œ๋‹ค๋ฉด A์˜ ๋ฉ์น˜๊ฐ€ B๋ณด๋‹ค ํฐ ์…ˆ์ด ๋œ๋‹ค. ๊ทธ๋Ÿฐ๋ฐ ์„œ๋กœ ๋‹ค๋ฅธ ๋ฉ์น˜๋ผ๋ฆฌ ํฌ๊ธฐ๋ฅผ ์ •ํ•  ์ˆ˜ ์—†๋Š” ๊ฒฝ์šฐ๋„ ์žˆ๋‹ค. ์˜ˆ๋ฅผ ๋“ค์–ด ๋‘ ์‚ฌ๋žŒ C์™€ D์˜ ๋ฉ์น˜๊ฐ€ ๊ฐ๊ฐ (45, 181), (55, 173)์ด๋ผ๋ฉด ๋ชธ๋ฌด๊ฒŒ๋Š” D๊ฐ€ C๋ณด๋‹ค ๋” ๋ฌด๊ฒ๊ณ , ํ‚ค๋Š” C๊ฐ€ ๋” ํฌ๋ฏ€๋กœ, "๋ฉ์น˜"๋กœ๋งŒ ๋ณผ ๋•Œ C์™€ D๋Š” ๋ˆ„๊ตฌ๋„ ์ƒ๋Œ€๋ฐฉ๋ณด๋‹ค ๋” ํฌ๋‹ค๊ณ  ๋งํ•  ์ˆ˜ ์—†๋‹ค.

N๋ช…์˜ ์ง‘๋‹จ์—์„œ ๊ฐ ์‚ฌ๋žŒ์˜ ๋ฉ์น˜ ๋“ฑ์ˆ˜๋Š” ์ž์‹ ๋ณด๋‹ค ๋” "ํฐ ๋ฉ์น˜"์˜ ์‚ฌ๋žŒ์˜ ์ˆ˜๋กœ ์ •ํ•ด์ง„๋‹ค. ๋งŒ์ผ ์ž์‹ ๋ณด๋‹ค ๋” ํฐ ๋ฉ์น˜์˜ ์‚ฌ๋žŒ์ด k๋ช…์ด๋ผ๋ฉด ๊ทธ ์‚ฌ๋žŒ์˜ ๋ฉ์น˜ ๋“ฑ์ˆ˜๋Š” k+1์ด ๋œ๋‹ค. ์ด๋ ‡๊ฒŒ ๋“ฑ์ˆ˜๋ฅผ ๊ฒฐ์ •ํ•˜๋ฉด ๊ฐ™์€ ๋ฉ์น˜ ๋“ฑ์ˆ˜๋ฅผ ๊ฐ€์ง„ ์‚ฌ๋žŒ์€ ์—ฌ๋Ÿฌ ๋ช…๋„ ๊ฐ€๋Šฅํ•˜๋‹ค. ์•„๋ž˜๋Š” 5๋ช…์œผ๋กœ ์ด๋ฃจ์–ด์ง„ ์ง‘๋‹จ์—์„œ ๊ฐ ์‚ฌ๋žŒ์˜ ๋ฉ์น˜์™€ ๊ทธ ๋“ฑ์ˆ˜๊ฐ€ ํ‘œ์‹œ๋œ ํ‘œ์ด๋‹ค.

์œ„ ํ‘œ์—์„œ C๋ณด๋‹ค ๋” ํฐ ๋ฉ์น˜์˜ ์‚ฌ๋žŒ์ด ์—†์œผ๋ฏ€๋กœ C๋Š” 1๋“ฑ์ด ๋œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  A, B, D ๊ฐ๊ฐ์˜ ๋ฉ์น˜๋ณด๋‹ค ํฐ ์‚ฌ๋žŒ์€ C๋ฟ์ด๋ฏ€๋กœ ์ด๋“ค์€ ๋ชจ๋‘ 2๋“ฑ์ด ๋œ๋‹ค. ๊ทธ๋ฆฌ๊ณ  E๋ณด๋‹ค ํฐ ๋ฉ์น˜๋Š” A, B, C, D ์ด๋ ‡๊ฒŒ 4๋ช…์ด๋ฏ€๋กœ E์˜ ๋ฉ์น˜๋Š” 5๋“ฑ์ด ๋œ๋‹ค. ์œ„ ๊ฒฝ์šฐ์— 3๋“ฑ๊ณผ 4๋“ฑ์€ ์กด์žฌํ•˜์ง€ ์•Š๋Š”๋‹ค. ์—ฌ๋Ÿฌ๋ถ„์€ ํ•™์ƒ N๋ช…์˜ ๋ชธ๋ฌด๊ฒŒ์™€ ํ‚ค๊ฐ€ ๋‹ด๊ธด ์ž…๋ ฅ์„ ์ฝ์–ด์„œ ๊ฐ ์‚ฌ๋žŒ์˜ ๋ฉ์น˜ ๋“ฑ์ˆ˜๋ฅผ ๊ณ„์‚ฐํ•˜์—ฌ ์ถœ๋ ฅํ•ด์•ผ ํ•œ๋‹ค.

 

 

7568๋ฒˆ: ๋ฉ์น˜

์šฐ๋ฆฌ๋Š” ์‚ฌ๋žŒ์˜ ๋ฉ์น˜๋ฅผ ํ‚ค์™€ ๋ชธ๋ฌด๊ฒŒ, ์ด ๋‘ ๊ฐœ์˜ ๊ฐ’์œผ๋กœ ํ‘œํ˜„ํ•˜์—ฌ ๊ทธ ๋“ฑ์ˆ˜๋ฅผ ๋งค๊ฒจ๋ณด๋ ค๊ณ  ํ•œ๋‹ค. ์–ด๋–ค ์‚ฌ๋žŒ์˜ ๋ชธ๋ฌด๊ฒŒ๊ฐ€ x kg์ด๊ณ  ํ‚ค๊ฐ€ y cm๋ผ๋ฉด ์ด ์‚ฌ๋žŒ์˜ ๋ฉ์น˜๋Š” (x, y)๋กœ ํ‘œ์‹œ๋œ๋‹ค. ๋‘ ์‚ฌ๋žŒ A ์™€ B์˜ ๋ฉ

www.acmicpc.net

 

์ž…๋ ฅ

์ฒซ ์ค„์—๋Š” ์ „์ฒด ์‚ฌ๋žŒ์˜ ์ˆ˜ N์ด ์ฃผ์–ด์ง„๋‹ค. ๊ทธ๋ฆฌ๊ณ  ์ด์–ด์ง€๋Š” N๊ฐœ์˜ ์ค„์—๋Š” ๊ฐ ์‚ฌ๋žŒ์˜ ๋ชธ๋ฌด๊ฒŒ์™€ ํ‚ค๋ฅผ ๋‚˜ํƒ€๋‚ด๋Š” ์–‘์˜ ์ •์ˆ˜ x์™€ y๊ฐ€ ํ•˜๋‚˜์˜ ๊ณต๋ฐฑ์„ ๋‘๊ณ  ๊ฐ๊ฐ ๋‚˜ํƒ€๋‚œ๋‹ค.

 

์ถœ๋ ฅ

์—ฌ๋Ÿฌ๋ถ„์€ ์ž…๋ ฅ์— ๋‚˜์—ด๋œ ์‚ฌ๋žŒ์˜ ๋ฉ์น˜ ๋“ฑ์ˆ˜๋ฅผ ๊ตฌํ•ด์„œ ๊ทธ ์ˆœ์„œ๋Œ€๋กœ ์ฒซ ์ค„์— ์ถœ๋ ฅํ•ด์•ผ ํ•œ๋‹ค. ๋‹จ, ๊ฐ ๋ฉ์น˜ ๋“ฑ์ˆ˜๋Š” ๊ณต๋ฐฑ๋ฌธ์ž๋กœ ๋ถ„๋ฆฌ๋˜์–ด์•ผ ํ•œ๋‹ค.

 

์ž…๋ ฅ์˜ˆ์‹œ

5
55 185
58 183
88 186
60 175
46 155

 

์ถœ๋ ฅ์˜ˆ์‹œ

2 2 1 2 5

 

 


 

 

My Code

 

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

let arr = [];

// ์ด์ค‘๋ฐฐ์—ด ์ €์žฅ
input.forEach((ele) => {
    arr.push(ele.split(' ').map(Number));
})

let answer = [];

// ๋น„๊ต
for (let i = 0; i < len; i++) {
    let counter = 0;
    for (let j = 0; j < len; j++) {
        if (i !== j) {
            if (arr[i][0] < arr[j][0] && arr[i][1] < arr[j][1]) {
                counter++;
            }
        }

    }
    answer.push(counter + 1);
}

console.log(answer.join(' '))

๋งž์•˜์Šต๋‹ˆ๋‹ค!!

 

 

 

HOW? (ํ’€์ด๋ฐฉ๋ฒ•)

 

๋ธŒ๋ฃจํŠธํฌ์Šค(์™„์ „ํƒ์ƒ‰)๋ฅผ ์ด์šฉํ•œ ํ’€์ด๋ฐฉ๋ฒ•

 

[์•Œ๊ณ ๋ฆฌ์ฆ˜ ๊ธฐ๋ณธ] ์™„์ „ ํƒ์ƒ‰ (๋ธŒ๋ฃจํŠธ ํฌ์Šค Brute Force)

์™„์ „ ํƒ์ƒ‰, ๋ธŒ๋ฃจํŠธ ํฌ์Šค(Brute Force) Brute Force ์ง์—ญํ•˜๋ฉด ์ง์Šน๊ฐ™์€ ํž˜, ๋ฌด์‹ํ•œ ํž˜์ด๋ผ๋Š” ๋œป์ด๋‹ค. ์™„์ „ ํƒ์ƒ‰์ด๋ผ๋Š” ์ด๋ฆ„์—์„œ๋„ ์•Œ ์ˆ˜ ์žˆ๋“ฏ์ด ํ•˜๋‚˜๋ถ€ํ„ฐ ์—ด๊นŒ์ง€ ๋ชจ๋“  ๊ฒฝ์šฐ๋ฅผ ๋‹ค ํƒ์ƒ‰ํ•˜๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜์ด๋‹ค.

hawaiian-pizza-it.tistory.com

๋ชจ๋“  ๊ฒฝ์šฐ์˜ ์ˆ˜๋ฅผ ๋‹ค ๊ณ„์‚ฐํ•ด๋ณด๋Š” ์•Œ๊ณ ๋ฆฌ์ฆ˜ ํ’€์ด ๋ฐฉ๋ฒ• ์ž์„ธํ•œ ๋‚ด์šฉ์€ ์œ„ ํฌ์ŠคํŒ…์œผ๋กœ!!

 

 

  1. ์ด์ค‘ for๋ฌธ์œผ๋กœ ๋ฐฐ์—ด ์•ˆ์— ๊ฐ’์ด ๋‹ค๋ฅธ ๋ชจ๋“  ๊ฐ’๋“ค๊ณผ ๋น„๊ตํ•˜๊ฒŒ ํ•จ
  2. ๋ชธ๋ฌด๊ฒŒ๋‚˜ ํ‚ค๊ฐ€ ๋น„๊ตํ•˜๋Š” ๊ฐ’๋ณด๋‹ค ์ž‘๋‹ค๋ฉด counter +1 ๋˜๋„๋ก ํ•จ ( ๋ชธ๋ฌด๊ฒŒ๋‚˜ ํ‚ค๊ฐ€ ํฐ ์‚ฌ๋žŒ์ด ๋ช‡ ๋ช…์ธ์ง€ ๊ณ„์‚ฐ )
  3. ์ƒˆ๋กœ ๋งŒ๋“  ๋ฐฐ์—ด์— ๋“ฑ์ˆ˜๋ฅผ push ํ•œ ํ›„ string์œผ๋กœ ๋ณ€ํ™˜ํ•ด ์ถœ๋ ฅ

 

 

 

๋ชจ์กฐ๋ฆฌ ๋น„๊ตํ•ด์„œ ๋‹ต์„ ์ฐพ์•„๋‚ธ๋‹ค!

์ฒ˜์Œ์—๋Š” counter์— len ๊ฐ’์„ ์ฃผ๊ณ  ๋นผ๋Š” ๊ฑธ๋กœ ํ–ˆ๋‹ค๊ฐ€ ์‹คํŒจํ–ˆ๋‹ค.

์•Œ๊ณ ๋ฆฌ์ฆ˜ ๋ฐฉ๋ฒ•์€ ์•Œ๊ฒ ๋Š”๋ฐ ์ฝ”๋“œ๋กœ ์จ์ง€์ง€ ์•Š์•„์„œ ๋‹ต๋‹ตํ•  ๋•Œ๊ฐ€ ์žˆ๋‹ค.

์Œ ์š”๋ ‡๊ฒŒ ์กฐ๋ ‡๊ฒŒ ํ•˜๋ฉด ๋ผ๊ฒ ๊ตฐ!

 

์ฝ”๋“œ : ์‘ ์•ˆ๋ผ

์ด๋Ÿด ๋•Œ์ผ์ˆ˜๋ก ๋ฐฉ๋ฒ•์€ ๊ณ„์†ํ•˜๋Š” ๊ฑฐ๋ฐ–์— ์—†๋‹ค...!

 

 

 

 

๋ฐ˜์‘ํ˜•
์ €์ž‘์žํ‘œ์‹œ ๋น„์˜๋ฆฌ ๋ณ€๊ฒฝ๊ธˆ์ง€ (์ƒˆ์ฐฝ์—ด๋ฆผ)

'Algorithms > Baekjoon' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€

[JS] ๋ฐฑ์ค€ 11478๋ฒˆ : ์„œ๋กœ ๋‹ค๋ฅธ ๋ถ€๋ถ„ ๋ฌธ์ž์—ด์˜ ๊ฐœ์ˆ˜  (0) 2022.06.15
[JS] ๋ฐฑ์ค€ 10816๋ฒˆ : ์ˆซ์ž ์นด๋“œ 2  (0) 2022.06.12
[JS] ๋ฐฑ์ค€ 10815๋ฒˆ : ์ˆซ์ž ์นด๋“œ  (0) 2022.06.05
[JS] ๋ฐฑ์ค€ 10841๋ฒˆ : ๋‚˜์ด์ˆœ ์ •๋ ฌ  (0) 2022.05.28
[JS] ๋ฐฑ์ค€ 1931 ๋ฒˆ : ํšŒ์˜์‹ค ๋ฐฐ์ •(feat.๊ทธ๋ฆฌ๋”” ์•Œ๊ณ ๋ฆฌ์ฆ˜)  (0) 2022.05.24
    'Algorithms/Baekjoon' ์นดํ…Œ๊ณ ๋ฆฌ์˜ ๋‹ค๋ฅธ ๊ธ€
    • [JS] ๋ฐฑ์ค€ 11478๋ฒˆ : ์„œ๋กœ ๋‹ค๋ฅธ ๋ถ€๋ถ„ ๋ฌธ์ž์—ด์˜ ๊ฐœ์ˆ˜
    • [JS] ๋ฐฑ์ค€ 10816๋ฒˆ : ์ˆซ์ž ์นด๋“œ 2
    • [JS] ๋ฐฑ์ค€ 10815๋ฒˆ : ์ˆซ์ž ์นด๋“œ
    • [JS] ๋ฐฑ์ค€ 10841๋ฒˆ : ๋‚˜์ด์ˆœ ์ •๋ ฌ
    ๋”ฐํŒŒ๐Ÿ•
    ๋”ฐํŒŒ๐Ÿ•
    ์ €์ชฝ ์†๋‹˜์ด ๋ณด๋‚ด์‹  ์—๋Ÿฌ์ž…๋‹ˆ๋‹ค. ๋””๋ฒ„๊น… ํ•˜์‹œ๊ฒ ์Šต๋‹ˆ๊นŒ?๐Ÿน

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