[프로그래머스 LV2] 땅따먹기

Junyoung Park·2022년 9월 1일
0

코딩테스트

목록 보기
605/631
post-thumbnail

1. 문제 설명

땅따먹기

2. 문제 분석

dp를 통해 풀었다. 파이썬으로 풀었을 때에는 BFS로 푼 것 같았는데...

3. 나의 풀이

import Foundation

func solution(_ land:[[Int]]) -> Int {
    var land = land
    let rowCount = land.count
    
    for row in 1..<rowCount {
        land[row][0] = max(land[row-1][1], land[row-1][2], land[row-1][3]) + land[row][0]
        land[row][1] = max(land[row-1][0], land[row-1][2], land[row-1][3]) + land[row][1]
        land[row][2] = max(land[row-1][0], land[row-1][1], land[row-1][3]) + land[row][2]
        land[row][3] = max(land[row-1][0], land[row-1][1], land[row-1][2]) + land[row][3]
    }
    let answer = land.last!.max()!
    return answer
}
profile
JUST DO IT

0개의 댓글