[Python] DP(Dynamic Programming) 알고리즘이 뭘까?/ 개미전사 풀이 / 백준 1463번 1로 만들기 풀이
다이나믹 프로그래밍이란? 앞에서 계산한 식을 배열에 미리 저장하여 연산속도를 증가시키는 프로그래밍 계산한 건 다시 계산하지 않는 게 중요하다 DP의 예: 피보나치 수열 DP = [1, 1, 2, 3, 5, 8, 13, 21, 34, 55, 89 ] DP[2] == DP[0] + DP[1] 2 DP[3]== DP[1] + DP[2] 3 즉, 앞에서 이미 계산된 값을 더해서 수열의 값을 알 수 있다. 피보나치 수열의 특징 1번째 인덱스와 2번째 인덱스의 값을 알 때, 3번째 값은 앞에 두 값을 더하면 된다 a[i] = a[i-1] + a[i-2] def fibo(x) : if x == 1 or x==2: return 1 #첫번째와 두번째 수열은 1이므로 1을 return return fibo(x -1) + ..
2023. 1. 22.