본문 바로가기
Algorithm/문제풀이_백준

[Swift][DP] 백준 9251번 (LCS)

by Joahnee 2022. 3. 10.

요구능력 : DP

 

코드설명 : 

 

https://www.youtube.com/watch?v=EAXDUxVYquY 이곳에 설명을 아주 잘해주시는 교수님이 계십니다.

 

후기 : 여태 야매로 풀던 DP를 제대로 푸는방법을 배운것같은 강의였다.

let x = readLine()!.map{String($0)}
let y = readLine()!.map{String($0)}
var dp = Array(repeating: Array(repeating: 0, count: y.count + 1), count: x.count + 1)
for i in 1...x.count{
    for j in 1...y.count{
        if x[i - 1] == y[j - 1]{
            dp[i][j] = dp[i - 1][j - 1] + 1
        }else{
            dp[i][j] = max(dp[i - 1][j], dp[i][j - 1])
        }
        
    }
}
print(dp[x.count][y.count])

댓글