2021-11-20 출근하는 방법
·
알고리즘/문제 풀이
위의 계단의 위치를 생각해보면, 1->2->3->42->3->41->3->42->4 이다. 즉 4번째 계단에 도착하려면 2번째 계단이나 3번째 계단에서 출발해야한다.식을 쓰면 stair(4) = stair(3) + stair(2)이고 이 식은 피보나치 식과 같다. def staircase(n): temp1, temp2 = 1, 1 for i in range(n): temp1, temp2 = temp2, temp1+temp2 return temp1  계단 올라가는 수를 조정한다면?   이 경우에도 마찬가지로 stair[n] 을 올라가려면 stair[n-k] + stair[n-l] + --- 이런 식이다.def staircase(stairs, possible_steps):..
2021-10-05 피보나치수열 반영환
·
알고리즘/문제 풀이
1234561123583번째 항부터 이전 두개의 항 참조1번, 2번째 항은 참조 당하기만 함. base case는 index로 구분되어지나 value로 구분되어지나? n 번째 피보나치를 재귀의 방식으로 풀어나가 보면, def fib(n): if n  n=3 => fib(2) + fib(1) (둘다 참조당하는 값, base case) n=4 => fib(3) + fib(2) (fib(3)은 재귀로 돌아가고, fib(2)는 base case)--- 따라서, n 에 값에 따라서 base case와 recursive case가 나누어지기에 value로 구분되어지는 경우다. base case -> Valuerecursive case -> Function(itself)