동적 계획법(Dynamic Programming) 이해하기
·
알고리즘/개념
동적 계획법을 이해하기 전에 필수로 재귀와 분할 정복을 이해하고 시작하길 바란다. 해당 기법들의 이해없이 바로 동적 계획법을 이해하기란 쉽지 않다.동적 계획법이란문제를 작은 부분 문제로 나누고, 그 부분 문제의 결과를 저장해 다시 사용함으로써 전체 문제를 효율적으로 해결하는 기법이다. 이 방법은 특히 중복되는 부분 문제를 가진 문제를 해결하는 데 유용하며, 재귀적으로 표현되는 문제를 최적화된 방식으로 풀 수 있다.1.1 중복되는 부분 문제동적 계획법은 큰 의미에서 문제를 작은 부분 문제로 나누고, 그 부분 문제를 합쳐 원래 문제를 해결한다는 관점에서 '분할 정복'과 같은 접근 방식을 가지고 있다.하지만 두개 사이에는 차이가 존재하는 데, 바로 어떤 부분 문제가 여러번 계산되는 것을 저장을 통하여 피한다는..