문제 링크

요약

  • 전통과 역사

최종

  • 근본이다.
class Solution {
public:
	int minCostClimbingStairs(vector<int>& cost) {
		int n = cost.size();
		array<int, 2> dp{};
 
		for (int i = 2; i <= n; i++) {
			int cur = i & 0x1;
			int prev_1 = (i - 1) & 0x1;
			int prev_2 = (i - 2) & 0x1;
			dp[cur] = min(cost[i - 1] + dp[prev_1], cost[i - 2] + dp[prev_2]);
		}
 
		return dp[n & 0x1];
	}
};

다른 풀이

Java

  • 이전 풀이 옮기기