-
[๋ฐฑ์ค] 5430๋ฒ: AC (Node.js)๐ ์๊ณ ๋ฆฌ์ฆ/๋ฐฑ์ค 2024. 9. 4. 15:49
์ ๊ทผ๋ฐฉ์
์ผ๋ฐ์ ์ธ ๋ฐฉ๋ฒ์ผ๋ก ์ ๊ทผ์ ํ๋๊น ( R์ด๋ฉด reverse(), D๋ฉด shift() ๋๋ error์ถ๋ ฅ... ) ๋ฐฐ์ด์ ์์ฃผ ๋ค์ง๊ณ ์๋ฅด๊ณ ํ๋ค๋ณด๋๊น
์๊ฐ์ด๊ณผ๊ฐ ์๊พธ ๋จ๋ ๋ฌธ์ ๊ฐ ์์ฃผ ๋ฐ์ํ์ต๋๋ค.๐ฅ
๊ณ ๋ฏผ๋์ "R"์ด ๋์ฌ ๋๋ง๋ค ๋ฐฐ์ด์ reverse๋ฅผ ์ฃผ๋๊ฒ ์๋,
ํ๋๊ทธ ๊ฐ์ ์ค์ ์ต์ข ์ ์ผ๋ก ํ๋ฒ๋ง reverse๋ฅผ ํ๊ฒ๋ ์์ฑํ์ต๋๋ค.
์๋ฅผ ๋ค์ด, R์ด ๋์จ ๋ค์์ D๊ฐ ๋์ฌ ๊ฒฝ์ฐ,
[1, 2, 3, 4] => R => [4, 3, 2, 1] => D => [3, 2, 1]
์ฆ ๋ง์ง๋ง ๋ฐฐ์ด์ [3, 2, 1]
pop()์ ์ฌ์ฉํ ๊ฒฝ์ฐ
[1, 2, 3, 4] => R (ํ๋๊ทธ๊ฐ์ฃผ๊ธฐ)=> [1, 2, 3, 4] => D => (ํ๋๊ทธ๊ฐ์ด ์์ผ๋ฉด pop ์์ผ๋ฉด shift) [1, 2, 3]
๋ง์ง๋ง์ ํ๋๊ทธ๊ฐ์ ํ์ธํ์ฌ true์ด๋ฉด reverse() => [3, 2, 1]๊ฐ์ ๊ฒฐ๊ณผ๊ฐ ๋์ค๋ฉฐ ์ฌ๋ฌ๋ฒ์ reverse๋ฅผ ํ์ง ์์๋ ๋๋ฏ๋ก ์๊ฐ์ ํจ์จ์ด ์ข์์ต๋๋ค.
ํ์ด โฐ
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 () { input.shift(); for (let i = 0; i < input.length; i += 3) { // ex) RDD, RD, DD ... let tCaseRD = input[i].split(""); // [1, 2, 3, 4], [1, 2, 3] ... let tCaseArr = JSON.parse(input[i + 2]); // ์๋ฌ ํ๋๊ทธ ๊ฐ let isErr = false; // reverse ํ๋๊ทธ ๊ฐ let isRev = false; for (let j = 0; j < tCaseRD.length; j++) { // [R, D, D] ๋ฅผ ์ํํ๋ฉด์ R์ด ์์ ๊ฒฝ์ฐ์๋ isRev์ ์ํ๋ฅผ ๋ณ๊ฒฝ if (tCaseRD[j] === "R") { isRev = !isRev; } else { // [] ๋น ๋ฐฐ์ด์ผ ๊ฒฝ์ฐ์ isError์ ์ํ๋ฅผ ๋ณ๊ฒฝ ํ for๋ฌธ ๋น ์ ธ๋๊ฐ๊ธฐ if (tCaseArr.length === 0) { isErr = !isErr; break; } else { // D์ผ ๊ฒฝ์ฐ์ isRev๊ฐ true์ด๋ฉด ๋ค์์ ํ๋ ๋นผ๊ธฐ if (isRev) { tCaseArr.pop(); } else { // isRev๊ฐ false์ด๋ฉด ์์์ ํ๋ ๋นผ๊ธฐ tCaseArr.shift(); } } } } if (isErr) { console.log("error"); } else { // isRev๊ฐ true์ด๋ฉด ๋ฐฐ์ด๋ค์ง๊ธฐ if (isRev) { tCaseArr.reverse(); } // JSON.stringify๋ก ๋ฐฐ์ด์ ์์ ํฌ๋งทํ console.log(JSON.stringify(tCaseArr)); } } });
๋ฐฑ์ค 5430๋ฒ ๋งํฌ
'๐ ์๊ณ ๋ฆฌ์ฆ > ๋ฐฑ์ค' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค] 24262๋ฒ: ์๊ณ ๋ฆฌ์ฆ ์์ - ์๊ณ ๋ฆฌ์ฆ์ ์ํ ์๊ฐ 1 (Node.js) (0) 2024.09.09 [๋ฐฑ์ค] 11659๋ฒ: ๊ตฌ๊ฐ ํฉ ๊ตฌํ๊ธฐ 4 (Node.js) (0) 2024.09.05 [๋ฐฑ์ค] 2776๋ฒ: ์๊ธฐ์ (Node.js) (0) 2024.09.03 [๋ฐฑ์ค] 17478๋ฒ: ์ฌ๊ทํจ์๊ฐ ๋ญ๊ฐ์? (Node.js) (2) 2024.09.03 [๋ฐฑ์ค] 9012๋ฒ: ๊ดํธ (Node.js) (3) 2024.09.02