그려보고 공식을 찾아보자, 값을 건너뛰면서 누적시킬 수 있다
import Foundation
var input = Int(readLine()!)!
var arr: [Int] = .init(repeating: 0, count: 3)
var dp: [Int] = .init(repeating: 0, count: 3)
for _ in 0..<input {
arr.append(Int(readLine()!)!)
}
for i in 3..<arr.count {
let tmp = max(dp[i-2]+arr[i], max(dp[i-3]+arr[i-1]+arr[i], dp[i-1]))
dp.append(tmp)
}
print(dp.max()!)
'Algorithm > Baekjoon' 카테고리의 다른 글
백준 - 큰수 A+B (C#) (0) | 2024.11.27 |
---|---|
C++ 2xn 타일링 (0) | 2024.11.14 |
Swift - 백준 1927 최소 힙 (0) | 2024.09.01 |
Swift - 백준 2606번 (0) | 2024.08.30 |
Swift - 백준 1541번 (0) | 2024.08.30 |