[Algorithm] 카데인 알고리즘 (Kadane's Algorithm)
카데인 알고리즘 (Kadane's Algorithm) 카데인 알고리즘은 DP (Dynamic Programing)의 기법중 하나인데 DP를 간단하게 설명하자면 다음과 같다. Dynamic Programing : 하나의 큰 문제를 풀기위해 그 문제를 작은 문제들로 나눠 풀어나간 후, 결국 하나의 큰 문제를 풀어내는 방법이다. 카데인 알고리즘은 최대 부분합 문제를 풀때 주로 사용된다. 최대 부분합 문제 Arr = [-2,1,-3,4,-1,2,1,-5,4]; 다음과 같은 배열이 주어질 때 위의 순서를 유지하고, 연속적이면서 가장 큰 합을 가지는 부분배열은 다음과 같다. [4, -1, 2, 1] -> 합 : 6 Arr[4] = -1 를 마지막 원소로 갖는 부분 합과, Arr[5] = 2를 마지막 원소로 갖는 부..
2023. 3. 20.