๐ ์ ์ถ
let input = require('fs').readFileSync(0).toString().trim().split('\n');
let [n, m] = [new Set(input[1].split(' ').map(Number)),(input[3].split(' ').map(Number))];
let x = [];
for (let i = 0; i < m.length; i++) {
x.push(n.has(m[i]) ? 1 : 0);
}
console.log(x.join(" "));
๐ฅ ๊ณผ์
๋ค์์ ์ฒ์์ ์ ์ถํ๋ ์ฝ๋๋ค. (์๊ฐ ์ด๊ณผ)
let input = require('fs').readFileSync(0).toString().trim().split('\n');
let n = input[1].split(' ').map(Number);
let m = input[3].split(' ').map(Number);
let x = [];
m.forEach((e) => x.push(n.includes(e) ? 1 : 0));
console.log(x.join(' '));
์ด ์ฝ๋์์ ๋ธ๋ฃจํธํฌ์ค ํ์๊ธฐ๋ฒ(๋ชจ๋ ์์์ ๋ํด n ๋ฐฐ์ด์ ๊ฒ์ํ๋ฏ๋ก ์ ์ฒด ์๊ฐ ๋ณต์ก๋๋ O(m * n)์ด ๋จ)
)์ ์ฌ์ฉํ๊ธฐ ๋๋ฌธ์ ์๊ฐ์ด๊ณผ๊ฐ ๋ฌ๋ค.
๋ฌธ์ ์์ ๋ ์ซ์ ์นด๋์ ๊ฐ์ ์๊ฐ ์ ํ์๋ ๊ฒฝ์ฐ๋ ์๋ค๊ณ ํ์ผ๋ ์๊ทผ์ด๊ฐ ๊ฐ์ง๊ณ ์๋ ์นด๋ ๋ฐฐ์ด(์ ์ฝ๋์์๋ n)์ Set์ผ๋ก ๋ณํํด์ ํ์ํ๊ธฐ๋ก ํ๋ค.
Set์ has ๋ฉ์๋๋ ํ๊ท ์ ์ผ๋ก O(1)์ ์๊ฐ ๋ณต์ก๋๋ฅผ ๊ฐ์ง๋ค. ์ ์ถํ ์ฝ๋๋ก ์คํํ๋ฉด ์ ์ฒด ์๊ฐ ๋ณต์ก๋๋ O(m)๊ฐ ๋๊ฒ ๋๋ค!
'baekjoon' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
| ๋ฐฑ์ค_7785: ํ์ฌ์ ์๋ ์ฌ๋ (node.js/JavaScript) (4) | 2024.07.24 |
|---|---|
| ๋ฐฑ์ค_14425: ๋ฌธ์์ด ์งํฉ (node.js/JavaScript) (1) | 2024.07.24 |
| ๋ฐฑ์ค_1427: ์ํธ์ธ์ฌ์ด๋ (node.js/JavaScript) (5) | 2024.07.23 |
| ๋ฐฑ์ค_24313: ์๊ณ ๋ฆฌ์ฆ ์์ -์ ๊ทผ์ ํ๊ธฐ 1 (node.js/JavaScript) (3) | 2024.07.23 |
| ๋ก๊ทธ์ธ ์ฑ๊ณต์ ์์ด๋ ์ ์ฅํ๊ธฐ! (1) | 2024.07.23 |
