코딩테스트 풀이/JAVA
[LeetCode/Easy] 70. Climbing Stairs
무지맘
2023. 5. 9. 15:48
1. Input
1) int n
2. Output
1) 한 번에 1계단 또는 2계단씩 올라갈 경우, n계단을 올라갈 수 있는 모든 방법의 수를 반환
3. Constraint
1) 1 <= n <= 45
4. Example
Input: n = 3 -> Output: 3
설명: 올라가는 방법은 다음과 같다.
- 1 + 1 + 1
- 1 + 2
- 2 + 1
5. Code
1) 첫 코드(2023/05/09)
class Solution {
public int climbStairs(int n) {
if(n>2){
int[] step = new int[n];
step[0] = 1; step[1] = 2;
for(int i=2 ; i<n ; i++)
step[i] = step[i-1] + step[i-2];
return step[n-1];
} else
return n;
}
}
- 처음에 recursive로 구현했는데, n=45일 때 시간 초과가 나왔다.