[백준] 11055, 11722 (파이썬)

Colacan·2022년 2월 8일
1

[백준]

목록 보기
23/43

오늘 이코테 교재가 도착했다. 이전에 구매했던 빅데이터 커리어가이드북과 함께 시간을 투자하여 읽어봐야할 것 같다. 그래서 상대적으로 문제풀이 수가 적다. 그래도 문제 푸는 것에 대한 습관이 들어야한다고 생각해서 조금이라도 풀이를 진행하기로 했다. 주말에 보충하여 더 풀어보도록 하겠다.

백준 11055번 가장 큰 증가 부분 수열

import sys
n = int(sys.stdin.readline())
array= list((map(int,(sys.stdin.readline().split()))))
dp = list(x for x in array)
dp[0] = array[0]
for i in range(1,n):
    for j in range(i):
        if array[j]<array[i]:
            dp[i]=max(dp[i],dp[j]+array[i])
print(max(dp))

백준 11722번 가장 긴 감소하는 부분 수열

# 이전 가장 긴 증가하는 부분 수열과 유사
import sys
size = int(sys.stdin.readline())
A = list(map(int,sys.stdin.readline().split()))
dp = [0 for _ in range(size)]
for i in range(size):
    for j in range(i): 
        if A[i]<A[j] and dp[i] < dp[j]:
            dp[i] = dp[j]
    dp[i] += 1
print(max(dp))
profile
For DE, DA / There is no royal road to learning

0개의 댓글