Algorithm
- ๋ฌธ์์ด ํญ๋ฐ -
๋ฌธ์
์๊ทผ์ด๋ ๋ฌธ์์ด์ ํญ๋ฐ ๋ฌธ์์ด์ ์ฌ์ด ๋์๋ค.
ํญ๋ฐ ๋ฌธ์์ด์ด ํญ๋ฐํ๋ฉด ๊ทธ ๋ฌธ์๋ ๋ฌธ์์ด์์ ์ฌ๋ผ์ง๋ฉฐ, ๋จ์ ๋ฌธ์์ด์ ํฉ์ณ์ง๊ฒ ๋๋ค.
ํญ๋ฐ์ ๋ค์๊ณผ ๊ฐ์ ๊ณผ์ ์ผ๋ก ์งํ๋๋ค.
- ๋ฌธ์์ด์ด ํญ๋ฐ ๋ฌธ์์ด์ ํฌํจํ๊ณ ์๋ ๊ฒฝ์ฐ์, ๋ชจ๋ ํญ๋ฐ ๋ฌธ์์ด์ด ํญ๋ฐํ๊ฒ ๋๋ค. ๋จ์ ๋ฌธ์์ด์ ์์๋๋ก ์ด์ด ๋ถ์ฌ ์๋ก์ด ๋ฌธ์์ด์ ๋ง๋ ๋ค.
- ์๋ก ์๊ธด ๋ฌธ์์ด์ ํญ๋ฐ ๋ฌธ์์ด์ด ํฌํจ๋์ด ์์ ์๋ ์๋ค.
- ํญ๋ฐ์ ํญ๋ฐ ๋ฌธ์์ด์ด ๋ฌธ์์ด์ ์์ ๋๊น์ง ๊ณ์๋๋ค.
์๊ทผ์ด๋ ๋ชจ๋ ํญ๋ฐ์ด ๋๋ ํ์ ์ด๋ค ๋ฌธ์์ด์ด ๋จ๋์ง ๊ตฌํด๋ณด๋ ค๊ณ ํ๋ค.
๋จ์์๋ ๋ฌธ์๊ฐ ์๋ ๊ฒฝ์ฐ๊ฐ ์๋ค.
์ด๋๋ "FRULA"๋ฅผ ์ถ๋ ฅํ๋ค.
ํญ๋ฐ ๋ฌธ์์ด์ ๊ฐ์ ๋ฌธ์๋ฅผ ๋ ๊ฐ ์ด์ ํฌํจํ์ง ์๋๋ค.
์ ์ถ๋ ฅ ์์

๋ฌธ์ ํ๊ธฐ
let fs = require("fs");
let input = fs.readFileSync("/dev/stdin").toString().split("\n");
let stack = [];
let num = 0;
for (let i = 0; i < input[0].length; i++) {
stack[num] = input[0][i];
if (stack[num] === input[1].slice(-1)) {
if (stack.slice(num - input[1].length + 1, num + 1).join("") === input[1]) {
num = num - input[1].length + 1;
} else num++;
} else num++;
}
stack.splice(num);
console.log(stack.length === 0 ? "FRULA" : stack.join(""));

๋ฐ์ํ
'๊ฐ์ธ๊ณต๋ถ > Algorithm' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[๋ฐฑ์ค][Node.js] 10103๋ฒ : ์ฃผ์ฌ์ ๊ฒ์ (0) | 2022.01.05 |
---|---|
[๋ฐฑ์ค][Node.js] 10039๋ฒ : ํ๊ท ์ ์ (0) | 2022.01.03 |
[๋ฐฑ์ค][Node.js] 9654๋ฒ : ๋๋ถ ํจ๋ ๋ฐ์ดํฐ (0) | 2021.12.30 |
[๋ฐฑ์ค][Node.js] 9653๋ฒ : ์คํ์์ฆ ๋ก๊ณ (0) | 2021.12.29 |
[๋ฐฑ์ค][Node.js] 9613๋ฒ : GCD ํฉ (0) | 2021.12.28 |
๋๊ธ