Math.max()
식이 다른 것 뿐.🙆♀️ 정답 풀이
import java.util.*; import java.io.*; public class Main { public static void main(String[] args) throws Exception{ BufferedReader br = new BufferedReader(new InputStreamReader(System.in)); char[] str1 = br.readLine().toCharArray(); char[] str2 = br.readLine().toCharArray(); char[] str3 = br.readLine().toCharArray(); int[][][] dp = new int[str1.length+1][str2.length+1][str3.length+1]; for(int i=1;i<=str1.length;i++){ for(int j=1;j<=str2.length;j++){ for(int k=1;k<=str3.length;k++){ if(str1[i-1]==str2[j-1] && str2[j-1]==str3[k-1]){ dp[i][j][k] = dp[i-1][j-1][k-1]+1; } else{ dp[i][j][k] = Math.max(Math.max(dp[i-1][j][k],dp[i][j-1][k]),dp[i][j][k-1]); } } } } System.out.println(dp[str1.length][str2.length][str3.length]); } }
이제 LCS는 눈감고도 풀겠니?