순차적으로 각 수열이 하나식 최대긴수열을 갖는방식을 저장하면서 문제를 해결하는 구조로 풀었다.
n = int(input()) arr = list(map(int, input().split())) cache = [1] * n for i in range(1, n): for j in reversed(range(i)): if arr[i] < arr[j] and cache[i] <= cache[j]: cache[i] = cache[j] + 1 print(max(cache))
'BackJoon' 카테고리의 다른 글
2512 예산 [Python] (0) | 2016.12.01 |
---|---|
1937 욕심쟁이 판다 [Python] (0) | 2016.12.01 |
2178번 미로탐색 [Python] (0) | 2016.11.10 |
9095 1, 2, 3 더하기 (0) | 2016.11.05 |
1149 RGB거리 (0) | 2016.11.03 |