
const fs = require("fs");
const filePath = process.platform === "linux" ? "/dev/stdin" : "./예제.txt";
let input = fs.readFileSync(filePath).toString().trim();
// const fs = require('fs');
// let input = fs.readFileSync('/dev/stdin').toString().trim();
let A=input.split('\n')[0]
let B=input.split('\n')[1]
let LCS=[]
const lcsArray = Array.from(Array(A.length + 1), () => new Array(B.length + 1).fill(0));
const check=(A, B)=>{
for (let i=0;i<A.length;i++){
for (let j=0;j<B.length;j++){
if (A[i]===B[j]){
lcsArray[i+1][j+1]=lcsArray[i][j]+1;
}else{
lcsArray[i+1][j+1]=Math.max(lcsArray[i][j+1], lcsArray[i+1][j])
}
}
}
console.log(lcsArray)
return lcsArray[A.length][B.length]
}
console.log(check(A,B))
dp라고 해서 무작정 dp[n]과 dp[n+1]의 관계만을 찾으려 했는데 그게 아닌 것 같다.