dp를 활용하여 풀었습니다 !
1. 이전 행에서 같은 열을 제외하고 가장 큰 값을 구한 후 더해줍니다.
2. 위 과정을 끝까지 반복 합니다.
3. 마지막 열에서 제일 큰 값을 구합니다.
import Foundation
func solution(_ land:[[Int]]) -> Int{
var arr = land
for i in 1..<land.count{
arr[i][0] += max(arr[i-1][1], arr[i-1][2], arr[i-1][3])
arr[i][1] += max(arr[i-1][0], arr[i-1][2], arr[i-1][3])
arr[i][2] += max(arr[i-1][0], arr[i-1][1], arr[i-1][3])
arr[i][3] += max(arr[i-1][0], arr[i-1][1], arr[i-1][2])
}
return max(arr[arr.count - 1][0], arr[arr.count - 1][1], arr[arr.count - 1][2], arr[arr.count - 1][3])
}