백준/다이나믹 프로그래밍
# 11055 가장 큰 증가 부분 수열
bright_code
2020. 9. 14. 07:40
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
반응형