n = int(input())
l = list(map(int, input().split()))
order = [0 for i in range(n)]
for after in range(n) :
for before in range(after) :
if l[after] < l[before] and order[after] < order[before] :
order[after] = order[before]
order[after] = order[after] + 1
print(max(order))
|
11053의 코드(https://uneducatedjungler.tistory.com/45)에서 부호만 바꾸면 된다.
이런식으로 약간씩 디테일이 다른 연관문제가 많이 있던데 하나하나 정리해봐야겠다.
'Week 01 ~ 04 : 알고리즘 문제 풀이' 카테고리의 다른 글
파이썬 백준 12738 가장 긴 증가하는 부분 수열 3 (0) | 2021.11.17 |
---|---|
파이썬 백준 12015 가장 긴 증가하는 부분 수열 2 (0) | 2021.11.17 |
파이썬 백준 11053 가장 긴 증가하는 부분 수열 (0) | 2021.11.16 |
파이썬 백준 11053 공유기 설치 (0) | 2021.11.16 |
파이썬 백준 13334 철로 (0) | 2021.11.16 |