【leetcode】Climbing Stairs (easy)

2436 단어 LeetCode
You are climbing a stair case. It takes n steps to reach to the top.
Each time you can either climb 1 or 2 steps. In how many distinct ways can you climb to the top?
 
계단을 뛰어넘어 이전에 귀속을 썼는데, 이번에는 비귀속을 썼다.
n층에 올라가는 방식은 사실 n-1층에 올라가는 방식(1층에 올라가는 방식)과 n-2층에 올라가는 방식(2층에 올라가는 방식)의 합이다
class Solution {

public:

    int climbStairs(int n) {

        if(n <= 0) return 0;

        else if(n == 1) return 1;

        else if(n == 2) return 2;

        else

        {

            int way1 = 2;

            int way2 = 1;

            int ans = 0;

            for(int i = 3; i <= n; i++)

            {

                ans = way1 + way2;

                way2 = way1;

                way1 = ans;

            }

            return ans;

        }

    }

};

좋은 웹페이지 즐겨찾기