본문 바로가기
Algorithm/baekjoon

backjoon 11055: 가장 큰 증가 부분 수열

by 갈잃자 2022. 5. 19.

https://www.acmicpc.net/problem/11055

 

11055번: 가장 큰 증가 부분 수열

수열 A가 주어졌을 때, 그 수열의 증가 부분 수열 중에서 합이 가장 큰 것을 구하는 프로그램을 작성하시오. 예를 들어, 수열 A = {1, 100, 2, 50, 60, 3, 5, 6, 7, 8} 인 경우에 합이 가장 큰 증가 부분 수

www.acmicpc.net

dp를 이용한 문제.. dp개념을 잘 이해하지 못한 나에겐 조금 힘든 문제였다..

n=int(input())
arr=list(map(int, input().split()))
result = [1]*n
result[0] = arr[0]
for i in range(1,n):
    for j in range(i):
        if arr[i] > arr[j]:
            result[i] =max(result[i],result[j] + arr[i])
        else:
            result[i] = max(result[i], arr[i])
print(max(result))

 

'Algorithm > baekjoon' 카테고리의 다른 글

baekjoon 2473: 세 용액  (0) 2022.06.22
beakjoon 16500: 문자열 판별  (0) 2022.06.14
backjoon 2469: 사다리 타기  (0) 2022.05.17
baekjoon 14606: 피자(small)  (0) 2022.05.17
baekjoon 2589: 보물섬  (0) 2022.04.26

댓글