시작이 반

[백준] 11055번(python 파이썬) 본문

알고리즘/백준

[백준] 11055번(python 파이썬)

G_Gi 2021. 2. 9. 17:01
SMALL

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

 

현재 값(A[i]에서 이전 값들(A[0] ~ A[i-1])을 보면서 현재값보다 작으면서 dp(이전에 구한값)값이 가장 큰 값을 찾는다.

 

n = int(input())
a = list(map(int, input().split()))
dp = [0] * n


def sequence():
    dp[0] = a[0]
    for i in range(1, n):
        max_value = 0
        for j in range(i):
            if a[i] > a[j]:
                if abs(a[i] - a[j]) != 0:
                    max_value = max(max_value, dp[j])

        max_index = dp.index(max_value)
        dp[i] = dp[max_index] + a[i]


sequence()
print(max(dp))
LIST

'알고리즘 > 백준' 카테고리의 다른 글

[백준] 11053번(python 파이썬)  (0) 2021.02.24
[백준] 11054번(python 파이썬)  (0) 2021.02.09
[백준] 2156번(python 파이썬)  (0) 2021.02.09
[백준] 1463번(python 파이썬)  (0) 2021.02.08
[백준] 2579번(python 파이썬)  (0) 2021.02.08