https://leetcode.com/problems/climbing-stairs/
n칸의 계단에서 1칸이나 2칸씩 올라갈 수 있을 때 몇 가지 방법으로 꼭대기에 올라갈 수 있는지 반환
public class Solution {
public int ClimbStairs(int n) {
int twoCount = n / 2;
int count = 0;
long answer = 0;
for (int i = 0; i <= twoCount; i++)
{
count = n - (i * 2) + i;
answer += nCr(count, i);
}
return (int) answer;
}
public long nCr(int n, int r)
{
long value = 1;
for (int i = 1; i <= r; i++)
{
value *= (n - (i - 1));
value /= i;
}
return value;
}
}
(시간은 의미없어 보임)