728x90
문제
최대 감소 부분 수열 설명 | 코드트리
최대 감소 부분 수열를 풀며 문제 구성과 난이도를 파악해 적절한 알고리즘을 선정해보세요. 효율적인 코드 작성을 목표로 합니다.
www.codetree.ai
풀이
문제 요약
주어진 수열에서 가장 긴 감소하는 부분 수열의 길이를 구하자.
아이디어
점화식은 다음과 같다.
dp[i] : i번째 요소로 끝나는 LDS의 최대 길이
LIS의 응용문제다. 부등호만 바꾸면 된다.
n = int(input())
m = list(map(int, input().split()))
# Please write your code here.
dp = [1] * n
for i in range(1, n):
for j in range(i):
if m[j] > m[i]:
dp[i] = max(dp[i], dp[j] + 1)
print(max(dp))
풀이시간
5분
소스코드
https://github.com/rogi-rogi/problem-solving/blob/main/code-tree/Algorithm Intro/DP I/14 최대 감소 부분 수열(challenge-longest-decreasing-subsequence).py
problem-solving/code-tree/Algorithm Intro/DP I/14 최대 감소 부분 수열(challenge-longest-decreasing-subsequence).py at ma
Daily Problem Solving Challenges. Contribute to rogi-rogi/problem-solving development by creating an account on GitHub.
github.com
728x90
'PS > Code Tree' 카테고리의 다른 글
[Code Tree] 최대 점프 횟수 [Python] (0) | 2025.07.03 |
---|---|
[Code Tree] 최대 증가 부분 수열 [Python] (0) | 2025.07.01 |
[Code Tree] 정수 사각형 최댓값의 최소 [Python] (0) | 2025.06.29 |
[Code Tree] 정수 사각형 차이의 최소 2 [Python] (0) | 2025.06.28 |
[Code Tree] 정수 사각형 최장 증가 수열 [Python] (0) | 2025.06.27 |