Computer Science/Algorithm
[Baekjoon] DP - 11722 가장 긴 감소하는 부분 수열
ddu0422
2023. 9. 25. 11:37
문제
11722번: 가장 긴 감소하는 부분 수열
수열 A가 주어졌을 때, 가장 긴 감소하는 부분 수열을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {10, 30, 10, 20, 20, 10} 인 경우에 가장 긴 감소하는 부분 수열은 A = {10, 30, 10, 20, 20, 10}
www.acmicpc.net
풀이
import sys
n = int(sys.stdin.readline().rstrip())
numbers = [0] + list(map(int, sys.stdin.readline().rstrip().split()))
def solution(a):
d = [1] * len(a)
for i in range(1, n + 1):
for j in range(1, i):
if a[i] < a[j] and d[i] < d[j] + 1:
d[i] = d[j] + 1
return max(d)
print(solution(numbers))
채점 결과