λ³Έλ¬Έ λ°”λ‘œκ°€κΈ°
κ°œμΈκ³΅λΆ€/Algorithm

[λ°±μ€€][Node.js] 9935번 : λ¬Έμžμ—΄ 폭발

by πŸ‡λ°•λ΄‰λ΄‰πŸ‡ 2022. 1. 1.

 

 

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(""));

 

 

 

λ°˜μ‘ν˜•

λŒ“κΈ€