Dynamic Programming

    [1912] 연속합 - Python

    [1912] 연속합 - Python

    Dynamic Programming(DP, 동적 계획법)은 하나의 큰 문제를 여러 개의 작은 문제로 나누어서 푸는 방법이다. 포인트는 중복되는 작은 문제들의 결과를 저장해 놓고 재활용하는 것이다. DP라는 이름때문에 어떤 방법인지 한 번에 알기 어려운데, '기억하며 풀기'라고도 하고 '하나의 문제는 단 한 번만 풀도록 하는 알고리즘'으로 정리할 수도 있다. 1912번 문제는 DP를 활용하여 풀 수 있다. /* 문제 */ n개의 정수로 이루어진 임의의 수열이 주어진다. 우리는 이 중 연속된 몇 개의 수를 선택해서 구할 수 있는 합 중 가장 큰 합을 구하려고 한다. 단, 수는 한 개 이상 선택해야 한다. 예를 들어서 10, -4, 3, 1, 5, 6, -35, 12, 21, -1 이라는 수열이 주어졌다고 하..