-
[๋ฐฑ์ค] 2776๋ฒ: ์๊ธฐ์ (Node.js)๐ ์๊ณ ๋ฆฌ์ฆ/๋ฐฑ์ค 2024. 9. 3. 17:27
์ ๊ทผ๋ฐฉ์
์ฝ๊ฒ ํด๊ฒฐํ ์ค ์์๋๋ฐ ์๊พธ ํ๋ฆฌ๋๋ผ๊ตฌ์.. ์ด์ ๊ฐ ๋ญ์ง ๋ณด๋๊น ์๊ฐ๋ณต์ก๋๊ฐ ์ค์ํ ๋ฌธ์ ์ธ๊ฑธ ๋ค๋ฆ๊ฒ ์์์ต๋๋ค!
ํ ์คํธ์ผ์ด์ค์ ์๋ 4 1 5 2 3์ ๋ฐฐ์ด๋ก [4, 1, 5, 2, 3]์ผ๋ก ๋ง๋ ๋ค 1 3 5 7 9 ๊ฐ ์๋ ๋ฐฐ์ด์ includes๋ฅผ ํด๋ณด์๋๋ฐ
์๊ฐ๋ณต์ก๋๊ฐ ์ค์ํ ๋ฌธ์ ์์๋ ๋นํจ์จ์ด๋๋ผ๊ตฌ์.
๊ทธ๋์ Set๊ณผ has๋ฅผ ์ด์ฉํ์ฌ ๋ฌธ์ ๋ฅผ ํ์์ต๋๋ค!
Set์ด๋?
Set์ ์๋ฐ์คํฌ๋ฆฝํธ์์ ์ค๋ณต๋์ง ์๋ ๊ณ ์ ํ ๊ฐ๋ค์ ์งํฉ์ ์ ์ฅํ๋ ๋ฐ ์ฌ์ฉ๋๋ ๋ด์ฅ ๊ฐ์ฒด์ ๋๋ค.Set์ ๊ฐ์ ๊ฐ์ด ์ฌ๋ฌ ๋ฒ ์ถ๊ฐ๋ ์ ์๊ธฐ ๋๋ฌธ์, ์์ฐ์ค๋ฝ๊ฒ ์ค๋ณต ๊ฐ์ ์ ๊ฑฐํด์ค๋๋ค!
๊ทธ๋ฆฌ๊ณ ๋ด๋ถ์ ์ผ๋ก ํด์ ํ ์ด๋ธ์ ์ฌ์ฉํ์ฌ ๊ตฌํ๋๋ฏ๋ก, ํน์ ์์๊ฐ Set์ ์๋์ง ํ์ธํ๋ ์์ (=>has())์ ํ๊ท ์ ์ผ๋ก O(1)์ ์๊ฐ ๋ณต์ก๋๋ฅผ ๊ฐ์ง๋๋ค.
๊ทธ๋ผ ์ฌ๊ธฐ์ ๋ ๊ถ๊ธํ ๊ฒ๋๋ค!
O(1)์ ์๊ฐ ๋ณต์ก๋๋?
์์ ์๊ฐ ๋ณต์ก๋๋ผ๊ณ ๋ ๋ถ๋ฆฌ๋ฉฐ, ์ ๋ ฅ ํฌ๊ธฐ์ ์๊ด์์ด ํญ์ ์ผ์ ํ ์๊ฐ์ด ๊ฑธ๋ฆฌ๋ ์๊ณ ๋ฆฌ์ฆ์ ์๋ฏธํ๋๋ฐ
๋ฐ์ดํฐ์ ํฌ๊ธฐ์ ๋ฌด๊ดํ๊ฒ ํญ์ ๊ฐ์ ์๊ฐ์ด ๊ฑธ๋ฆฝ๋๋ค.
์ฆ, ์ ๋ ฅ ๋ฐ์ดํฐ์ ํฌ๊ธฐ๊ฐ 1์ด๋ , 1000์ด๋ , 100๋ง์ด๋ , ์คํ ์๊ฐ์ ์ผ์ ํฉ๋๋ค.ํ์ด โฐ
const readline = require("readline"); const rl = readline.createInterface({ input: process.stdin, output: process.stdout, }); let input = []; rl.on("line", function (line) { input.push(line); }).on("close", function () { // ํ ์คํธ์ผ์ด์ค ๊ฐฏ์ let tCase = input[0]; // ํ ์คํธ์ผ์ด์ค 1๊ธฐ์ค์ผ๋ก 2๋ฒ์งธ์ 4๋ฒ์งธ์ ๋ฐฐ์ด์ ๋ค๋ค์ผํฉ๋๋ค. // ํ ์คํธ์ผ์ด์ค 2๊ธฐ์ค์ผ๋ก 6๋ฒ์งธ์ 8๋ฒ์งธ์ ๋ฐฐ์ด์ ๋ค๋ค์ผํฉ๋๋ค. ๊ทธ๋ ๊ธฐ์ += 4๋ฅผ ํด์ฃผ๊ธฐ ์ํ index์ ๋๋ค. let index = 0; // ๊ฒฐ๊ณผ๊ฐ let result = []; for (let i = 0; i < tCase; i++) { // Set์ ์ฌ์ฉํ์ฌ ์ค๋ธ์ ํธ ํํ์ ์ ๋ ฅ๊ฐ์ ์ค์ ํฉ๋๋ค. let note1 = new Set(input[index + 2].split(" ").map(Number)); // ๊ธฐ์กด ๋ฐฐ์ด ๊ทธ๋๋ก ์ฌ์ฉํฉ๋๋ค. let note2 = input[index + 4].split(" ").map(Number); for (item of note2) { // note1์ Set ๊ณ ์ ์ ์ค๋ธ์ ํธ ํํ์ด๋ฏ๋ก hasํจ์๋ฅผ ์ฌ์ฉํ์ฌ note1์ item์ด ์๋์ง ํ์ธํฉ๋๋ค. if (note1.has(item)) { result.push(1); } else { result.push(0); } } index += 4; } console.log(result.join("\n")); });
๋ฐฑ์ค 2776๋ฒ ๋งํฌ
'๐ ์๊ณ ๋ฆฌ์ฆ > ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 24262๋ฒ: ์๊ณ ๋ฆฌ์ฆ ์์ - ์๊ณ ๋ฆฌ์ฆ์ ์ํ ์๊ฐ 1 (Node.js) (0) 2024.09.09 [๋ฐฑ์ค] 11659๋ฒ: ๊ตฌ๊ฐ ํฉ ๊ตฌํ๊ธฐ 4 (Node.js) (0) 2024.09.05 [๋ฐฑ์ค] 5430๋ฒ: AC (Node.js) (0) 2024.09.04 [๋ฐฑ์ค] 17478๋ฒ: ์ฌ๊ทํจ์๊ฐ ๋ญ๊ฐ์? (Node.js) (2) 2024.09.03 [๋ฐฑ์ค] 9012๋ฒ: ๊ดํธ (Node.js) (3) 2024.09.02