🍋 문제링크
🍎 코드 제출 기록 (메모리 및 시간)
메모리 : 28776 KB
시간 : 188 ms
🍉 Code
import sys
input = sys.stdin.readline
def find_prev(i, arr, dp):
tmp=[]
for j in range(i):
if (arr[j] < arr[i]):
tmp.append(dp[j])
if (len(tmp)==0):
return -1
return dp.index(max(tmp))
n = int(input())
arr = list(map(int, input().split()))
dp = [0]*(n+1)
dp[0] = arr[0]
for i in range(1, n):
if (find_prev(i, arr, dp) != -1):
dp[i] = dp[find_prev(i, arr, dp)] + arr[i]
else:
dp[i] = arr[i]
print(max(dp))
🥝 메모
<배열의 원소 입력받기>
arr = list(map(int, input().split()))
반응형
'➰ 취업준비 > 알고리즘 문제풀이' 카테고리의 다른 글
[Python][백준][1874] 스택 수열 (STACK) (0) | 2021.04.01 |
---|---|
[Python][백준][2294] 동전 2 (DP) (0) | 2021.03.29 |
[Python][백준][11048] 이동하기 (DP) (0) | 2021.03.29 |
[Python][백준][5582] 공통 부분 문자열 (DP) (0) | 2021.03.29 |
[C++][백준][9252] LCS 2 (DP) (0) | 2021.03.16 |