๋”ฐํŒŒ๐Ÿ•
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] ๋ฐฑ์ค€ 10815๋ฒˆ : ์ˆซ์ž ์นด๋“œ
Algorithms/Baekjoon

[JS] ๋ฐฑ์ค€ 10815๋ฒˆ : ์ˆซ์ž ์นด๋“œ

2022. 6. 5. 20:10
๋ฐ˜์‘ํ˜•

 

Question

 

๋ฐฑ์ค€ 10815๋ฒˆ : ์ˆซ์ž ์นด๋“œ

์ˆซ์ž ์นด๋“œ๋Š” ์ •์ˆ˜ ํ•˜๋‚˜๊ฐ€ ์ ํ˜€์ ธ ์žˆ๋Š” ์นด๋“œ์ด๋‹ค. ์ƒ๊ทผ์ด๋Š” ์ˆซ์ž ์นด๋“œ N๊ฐœ๋ฅผ ๊ฐ€์ง€๊ณ  ์žˆ๋‹ค. ์ •์ˆ˜ M๊ฐœ๊ฐ€ ์ฃผ์–ด์กŒ์„ ๋•Œ, ์ด ์ˆ˜๊ฐ€ ์ ํ˜€์žˆ๋Š” ์ˆซ์ž ์นด๋“œ๋ฅผ ์ƒ๊ทผ์ด๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š”์ง€ ์•„๋‹Œ์ง€๋ฅผ ๊ตฌํ•˜๋Š” ํ”„๋กœ๊ทธ๋žจ์„ ์ž‘์„ฑํ•˜์‹œ์˜ค.

 

 

10815๋ฒˆ: ์ˆซ์ž ์นด๋“œ

์ฒซ์งธ ์ค„์— ์ƒ๊ทผ์ด๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์ˆซ์ž ์นด๋“œ์˜ ๊ฐœ์ˆ˜ N(1 ≤ N ≤ 500,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„์—๋Š” ์ˆซ์ž ์นด๋“œ์— ์ ํ˜€์žˆ๋Š” ์ •์ˆ˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ˆซ์ž ์นด๋“œ์— ์ ํ˜€์žˆ๋Š” ์ˆ˜๋Š” -10,000,000๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 10,

www.acmicpc.net

 

 

์ž…๋ ฅ

์ฒซ์งธ ์ค„์— ์ƒ๊ทผ์ด๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์ˆซ์ž ์นด๋“œ์˜ ๊ฐœ์ˆ˜ N(1 ≤ N ≤ 500,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋‘˜์งธ ์ค„์—๋Š” ์ˆซ์ž ์นด๋“œ์— ์ ํ˜€์žˆ๋Š” ์ •์ˆ˜๊ฐ€ ์ฃผ์–ด์ง„๋‹ค. ์ˆซ์ž ์นด๋“œ์— ์ ํ˜€์žˆ๋Š” ์ˆ˜๋Š” -10,000,000๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 10,000,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™๋‹ค. ๋‘ ์ˆซ์ž ์นด๋“œ์— ๊ฐ™์€ ์ˆ˜๊ฐ€ ์ ํ˜€์žˆ๋Š” ๊ฒฝ์šฐ๋Š” ์—†๋‹ค.

์…‹์งธ ์ค„์—๋Š” M(1 ≤ M ≤ 500,000)์ด ์ฃผ์–ด์ง„๋‹ค. ๋„ท์งธ ์ค„์—๋Š” ์ƒ๊ทผ์ด๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์ˆซ์ž ์นด๋“œ์ธ์ง€ ์•„๋‹Œ์ง€๋ฅผ ๊ตฌํ•ด์•ผ ํ•  M๊ฐœ์˜ ์ •์ˆ˜๊ฐ€ ์ฃผ์–ด์ง€๋ฉฐ, ์ด ์ˆ˜๋Š” ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„๋˜์–ด์ ธ ์žˆ๋‹ค. ์ด ์ˆ˜๋„ -10,000,000๋ณด๋‹ค ํฌ๊ฑฐ๋‚˜ ๊ฐ™๊ณ , 10,000,000๋ณด๋‹ค ์ž‘๊ฑฐ๋‚˜ ๊ฐ™๋‹ค

 

์ถœ๋ ฅ

์ฒซ์งธ ์ค„์— ์ž…๋ ฅ์œผ๋กœ ์ฃผ์–ด์ง„ M๊ฐœ์˜ ์ˆ˜์— ๋Œ€ํ•ด์„œ, ๊ฐ ์ˆ˜๊ฐ€ ์ ํžŒ ์ˆซ์ž ์นด๋“œ๋ฅผ ์ƒ๊ทผ์ด๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ์œผ๋ฉด 1์„, ์•„๋‹ˆ๋ฉด 0์„ ๊ณต๋ฐฑ์œผ๋กœ ๊ตฌ๋ถ„ํ•ด ์ถœ๋ ฅํ•œ๋‹ค.

 

์ž…๋ ฅ์˜ˆ์‹œ

5
6 3 2 10 -10
8
10 9 -5 2 3 4 5 -10

 

 

์ถœ๋ ฅ์˜ˆ์‹œ

1 0 0 1 1 0 0 1

 

 


 

 

My Code

 

 

์ž…๋ ฅํ•ด์„œ ๋ฐ›์•„์˜จ๊ฐ’์„ ๊ทธ๋Œ€๋กœ ๋ฐฐ์—ด๋กœ ์ €์žฅํ•ด์„œ ๋ฌธ์ œ๋ฅผ ํ’€์—ˆ์„๋•Œ๋Š” ์ „๋ถ€ ์‹œ๊ฐ„์ดˆ๊ณผ๊ฐ€ ๋–ด๋‹ค!

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

let n = Number(input.shift());
let m = Number(input[1]);

// ์ƒ๊ทผ์ด๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์นด๋“œ
let arr1 = input[0].split(' ').map(Number);

// ์ œ์‹œ๋œ ์นด๋“œ
let arr2 = input[2].split(' ').map(Number);

let answer = [];

for (let i = 0; i < m; i++) {
    if (arr1.includes(arr2[i])) {
        answer.push(1);
    } else {
        answer.push(0);
    }
}

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

 

 

WHY?

 

๋ชจ๋ฅด๊ฒ ๋‹ค.??????

VScode์—์„œ๋Š” ์ž˜๋งŒ ๋‹ต์„ ํˆญํˆญ๋ฑ‰์–ด๋ƒˆ๋‹จ ๋ง์ด์ง€.

์‹œ๊ฐ„์ดˆ๊ณผ๊ฐ€ ์–ด๋””์„œ ๊ฑธ๋ฆฐ๊ฑธ๊นŒ?

for๋ฌธ์„ forEach๋ฌธ์œผ๋กœ ๋ฐ”๊พธ๊ณ 

answer์— ์ž…๋ ฅ๋ฐ›์„๋•Œ๋„ ๋ฐฐ์—ด์ด ์•„๋‹Œ ๋ฌธ์ž์—ด๋กœ ๋ฐ›์•„๋„ ๋‹ค ์‹œ๊ฐ„์ดˆ๊ณผ๊ฐ€ ๋–ด๋‹ค.

 

 

์ด๊ฑด... ๋‚ด๊ฐ€ ๋ชจ๋ฅด๋Š”๊ฑฐ์•ผ! (ํ™•์‹ )

 

 

๊ตฌ๊ธ€๋ง์„ ํ•ด๋ณด๋‹ˆ set.has๊ฐ€ array.includes๋ณด๋‹ค ์‹œ๊ฐ„์ด ๋œ ๊ฑธ๋ฆฌ๋Š”๊ฑธ ์•Œ์•„๋ƒˆ๋‹ค.

์—ญ์‹œ ๋‚ด๊ฐ€ ๋ชจ๋ฅด๋Š” ๊ฑฐ์˜€๋‹ค.

set์ด๋ผ๋Š” ๊ฐ์ฒด๋ฅผ ๋„๋Œ€์ฒด ์–ด๋””์„œ ์‚ฌ์šฉํ•˜๋‚˜ ํ–ˆ๋”๋‹ˆ

์‹œ๊ฐ„์„ ๋‹จ์ถ•ํ•˜๊ธฐ์œ„ํ•ด ์‚ฌ์šฉํ•˜๋Š”๊ฑธ๊นŒ?

์ž์„ธํ•œ๊ฒƒ์€ ๋” ๊ณต๋ถ€๋ฅผ ํ•ด๋ด์•ผ๊ฒ ๋‹ค.

 

 

 

 

์ž…๋ ฅ๋ฐ›๋Š” ๋ฐฐ์—ด์„ set์œผ๋กœ  ๋ฐ”๊พธ๊ณ  ๋งž์•˜๋‹ค.

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

let n = Number(input[0]);
let m = Number(input[2]);

// ์ƒ๊ทผ์ด๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์นด๋“œ
let arr1 = new Set(input[1].split(' ').map(Number));

// ์ œ์‹œ๋œ ์นด๋“œ
let arr2 = input[3].split(' ').map(Number);

let answer = [];


arr2.forEach((ele) => {
    arr1.has(ele) ? answer.push(1) : answer.push(0)
})


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

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

 

 

 

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

 

  • ์ƒ๊ทผ์ด๊ฐ€ ๊ฐ€์ง€๊ณ  ์žˆ๋Š” ์นด๋“œ๋ฅผ Set ๊ฐ์ฒด๋กœ ๋ฐ›์•„ ์ €์žฅํ•œ๋‹ค.
  • ์ œ์‹œ๋œ ์นด๋“œ๋“ค์˜ ๊ฐ ์š”์†Œ๊ฐ€ ์ƒ๊ทผ์ด๊ฐ€ ๊ฐ€์ง€๊ณ ์žˆ๋Š” ์นด๋“œ์˜ ๋ฒˆํ˜ธ์™€ ์ผ์น˜ํ•˜๋Š” ์—ฌ๋ถ€์— ๋”ฐ๋ผ answer์— 0 ๋˜๋Š” 1์„ pushํ•œ๋‹ค.
  • ๋ฐฐ์—ด์„ ๋ฌธ์ž์—ด๋กœ ๋ณ€ํ™˜ํ•ด ์ถœ๋ ฅํ•œ๋‹ค.

 

 

 

 

Set์„ ์ž˜ ์•Œ๊ณ ์žˆ์–ด๋‹ค๋ฉด ์•„์ฃผ ์‰ฝ๊ฒŒ ํ’€์—ˆ์„ ๋ฌธ์ œ

์ž˜ ๋ชจ๋ฅด๋Š” ์‚ฌ๋žŒ์ด๋ผ๋ฉด ์ด๋ ‡๊ฒŒ ๋  ๋ฌธ์ œ๐Ÿ˜Ž

์‹œ๊ฐ„์ดˆ๊ณผ ์ด๋ ‡๊ฒŒ ๋งŽ์ด ๋œฐ๋•Œ๋งˆ๋‹ค

ํ˜น์‹œ ์ž…๋ ฅ๋ฐ›๋Š” ๊ณผ์ •์—์„œ ๋ฌธ์ œ๊ฐ€ ์ƒ๊ธฐ์ง€ ์•Š์•˜๋‚˜

๋ณ„๊ฑฐ๋ณ„๊ฑฐ๋ฅผ ๋‹ค ์ฐพ์•„๋ณด๊ฒŒ๋œ๋‹ค.

๋ฐฑ์ค€ ์ œ๋ฐœ ์ž๋ฐ”์Šคํฌ๋ฆฝํŠธ ๋˜๊ฒŒ ํ•ด์ฃผ์‹ญ์‡ผ!

 

 

 

 

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

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

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

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