κ°μΈκ³΅λΆ/Algorithm
[λ°±μ€][Node.js] 9935λ² : λ¬Έμμ΄ νλ°
πλ°λ΄λ΄π
2022. 1. 1. 20:09
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(""));
λ°μν