반응형
○
Math, Dynamic Programming, Memoization | Easy
LeetCode 70. Climbing Stairs
내 답안. 배열에 저장
class Solution {
func climbStairs(_ n: Int) -> Int {
if n == 1 || n == 2 { return n }
var result = [1,2]
for i in 2..<n {
result.append(result[i-2] + result[i-1])
}
return result[n-1]
}
}
다른 답안.
변수 두 개 그냥 계속 업데이트 해주는 방법
class Solution {
func climbStairs(_ n: Int) -> Int {
var (first, second) = (1, 1)
for _ in 1..<n {
let temp = first + second
first = second
second = temp
}
return second
}
}
** 딱히 차이는 없겠지만 뭐가 더 효율적일까. 배열에 저장, 변수로 저장 메모리 상에 차이 있나?
728x90
반응형
'Algorithm > LeetCode' 카테고리의 다른 글
[Swift 알고리즘] LeetCode 2399. Check Distances Between Same Letters (0) | 2023.04.25 |
---|---|
[Swift 알고리즘] LeetCode 53. Maximum Subarray (0) | 2023.04.03 |
[Swift 알고리즘] LeetCode 119. Pascal's Triangle II (0) | 2023.04.01 |
[Swift 알고리즘] LeetCode 118. Pascal's Triangle (0) | 2023.04.01 |
[Swift 알고리즘] LeetCode 2457. Minimum Addition to Make Integer Beautiful (0) | 2023.03.10 |