For Programmer
백준 11055번 파이썬 문제풀이(DP - 가장 큰 증가 부분 수열) 본문
728x90
import sys
input = sys.stdin.readline
N = int(input())
input_array = list(map(int, input().split()))
dp = [x for x in input_array]
for i in range(N):
for j in range(i):
if input_array[i] > input_array[j]:
dp[i] = max(dp[i], dp[j] + input_array[i])
print(max(dp))
-> 간단히 리스트를 모두 돌면서 각 원소보다 앞에 있는 작은 숫자들만 계속해서 더해가면서 그 합을 dp에 저장해나가면 된다. 그 후 가장 큰값을 출력하면 된다.
728x90
'코팅테스트 > 백준 문제 모음' 카테고리의 다른 글
백준 13398번 파이썬 문제풀이(DP - 연속합 2) (0) | 2021.11.11 |
---|---|
백준 11054번 파이썬 문제풀이(DP - 가장 긴 바이토닉 부분 수열) (0) | 2021.11.09 |
백준 1932번 파이썬 문제풀이(DP - 정수 삼각형) (0) | 2021.11.08 |
백준 2156번 파이썬 문제풀이(DP - 포도주 시식) - 자세한 설명 (0) | 2021.11.07 |
백준 11057번 파이썬 문제풀이(DP - 오름막 수) (0) | 2021.11.07 |
Comments