n에 도착하려면 n-1에서 1을 더하거나 n-2에서 2를 더해야함
즉 x(n)은 (x(n-1)+x(n-2))
dp테이블을 만들어두고 바텀업해서 테이블만들고 해당숫자 리턴
정답
class Solution {
fun climbStairs(n: Int): Int {
if (n==1){
return 1
}
if (n==2){
return 2
}
val dpMap = hashMapOf<Int, Int>()
dpMap[1]=1
dpMap[2]=2
for (i in 3 .. n){
dpMap[i]=dpMap[i-1]!!+dpMap[i-2]!!
}
return dpMap[n]!!
}
}
'알고리즘' 카테고리의 다른 글
코틀린 198. House Robber 릿코드 (0) | 2024.01.21 |
---|---|
릿코드 931. Minimum Falling Path Sum 코틀린 (0) | 2024.01.19 |
릿코드 1207. Unique Number of Occurrences 코틀린 (0) | 2024.01.17 |
릿코드 380. Insert Delete GetRandom O(1) 코틀린 (0) | 2024.01.16 |
릿코드 2225. Find Players With Zero or One Losses 코틀린 (0) | 2024.01.15 |