728x90
반응형

# 틀린 코드 

n = int(input())
data = list(map(int,input().split()))

dp = [ 0 for _ in range(n)]
dp[0] = data[0]


for i in range(n):
  max_sum = 0 
  for j in range(0,i):
    if max_sum < dp[j] and data[i]> data[j]:
      max_sum += data[j]
  dp[i] = max_sum + data[i]

print( max(dp))

 

 

 

# 정답 

n = int(input())
data = list(map(int,input().split()))

dp = [ x for x in data]

for i in range(n):
  for j in range(i):
    if data[i] > data[j]:
      dp[i] = max(dp[i], dp[j]+data[i])

print( max(dp))

 

간단하게 생각하는 연습하기... 

728x90
반응형

'백준 > 다이나믹 프로그래밍' 카테고리의 다른 글

# 2688 줄어들지 않아  (0) 2020.09.14
# 9656 돌 게임 2  (0) 2020.09.14
# 1699 제곱수의 합 -  (0) 2020.09.13
# 2293 동전 1  (0) 2020.09.13
# 11057 오르막 수  (0) 2020.09.13

+ Recent posts