Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[Leetcode - Easy] Climbing Stairs #25

Open
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

BangDori
Copy link
Contributor

문제

Type Info
Time Complexity O(N)
Space Complexity O(N)
Algorithm DP
Data Structure Array

Constraints

  • 1 <= n <= 45

Edge Case

  • 없음

풀이

1 step과 2 step의 합을 이용하여 n까지 이동하여야 하는 문제로, N = 4일 때 까지를 구해보면 다음과 같습니다.

n = 1) 1                                   => 1
n = 2) 1+1, 2                              => 2
n = 3) 1+1+1, 1+2, 2+1                     => 3
n = 4) 1+1+1+1, 1+1+2, 1+2+1, 2+1+1, 2+2   => 5

즉, 위 문제에서 다음과 같이 공식을 만들 수 있습니다.

  • n = k일 때, f(k) = f(k-1)에서 1만큼 이동하기 + f(k-2)에서 2만큼 이동하기

Important

1 Step과 2 Step의 합으로 이루어져야 한다면, 결국 1 Step 전의 수와 2 Step 전의 수의 합과 동일하다.

어려웠던 점

문제에서 주어진 패턴은 피보나치 수열로, n = 4일 때까지만 구해보면 쉽게 도출해낼 수 있습니다. 하지만 이것이 왜 피보나치 수열인지, 완전한 이해를 하는 데 생각보다 오래 걸렸던 것 같습니다.

알게된 점

  • Bottom up 방식에 대한 조금의 이해가 생김

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant