if let s1 = readLine(), let s2 = readLine() { let arr1: [Character] = Array(s1) let arr2: [Character] = Array(s2) let l1: Int = arr1.count let l2: Int = arr2.count var dp: [[Int]] = Array(repeating: Array(repeating:0, count: l2+1), count : l1+1) for i in 1...l1 { let c1: Character = arr1[i-1] for j in 1...l2 { let c2: Character = arr2[j-1] if c1==c2 { dp[i][j] = dp[i-1][j-1]+1 } else { dp[i][j] = max(dp[i-1][j], dp[i][j-1]) } } } print(dp[l1][l2]) }