1. 동적 프로그래밍(DP) 소개동적 프로그래밍은 복잡한 문제를 작은 부분 문제로 나누어 해결하는 방법입니다. 주로 최적화 문제에 사용되며, 메모이제이션 또는 테이블 방식으로 중복 계산을 줄입니다. 워낙 유명한 해결법이라 저 보다 잘 설명된 글이 굉장히 많습니다. 여기서는 재미로 대략적인 내용을 파악하는 걸로 보고 가시면 좋을 듯 합니다.2. 가장 긴 증가하는 부분 수열(LIS) 문제 해결2.1 LIS의 정의 및 문제 설명LIS는 주어진 수열에서 순서를 유지하면서 가장 긴 증가하는 부분 수열을 찾는 문제입니다.2.2 동적 프로그래밍을 이용한 LIS 알고리즘동적 프로그래밍을 사용한 LIS 알고리즘은 O(n^2)의 시간 복잡도를 가집니다. 각 요소에 대해 그 이전 요소들과 비교하여 dp 테이블을 갱신합니다...