문제
https://www.acmicpc.net/problem/2579
2579번: 계단 오르기
계단 오르기 게임은 계단 아래 시작점부터 계단 꼭대기에 위치한 도착점까지 가는 게임이다. <그림 1>과 같이 각각의 계단에는 일정한 점수가 쓰여 있는데 계단을 밟으면 그 계단에 쓰여 있는 점
www.acmicpc.net
코드
var num = Int(readLine()!)
var arr = [Int]()
var dp = [Int](repeating: 0, count: num!)
for i in 0 ..< num!
{
let input = Int(readLine()!)
arr.append(input!)
if i == 0{dp[0] = arr[0]}
else if i == 1 {dp[1] = max(dp[0]+arr[1],arr[1])}
else if i == 2 {dp[2] = max(dp[0]+arr[2],arr[1]+arr[2])}
else {dp[i] = max(dp[i-3]+arr[i-1]+arr[i], dp[i-2]+arr[i])}
}
print(dp[num!-1])
반응형
'알고리즘 문제 > Swift' 카테고리의 다른 글
[백준] 11047번 : 동전 0 - Swift (0) | 2021.08.06 |
---|---|
[백준] 6549번 : 히스토그램에서 가장 큰 직사각형 - Swift (0) | 2021.07.25 |
[백준] 9095번 : 1, 2, 3 더하기 - Swift (0) | 2021.07.21 |
[백준] 1463번 : 1로 만들기 - Swift (0) | 2021.07.21 |
[백준] 11729번 : 하노이 탑 이동 순서 - Swift (0) | 2021.07.14 |