일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- 코틀린
- LCS
- Python
- expo
- 안드로이드
- 6603
- 뒤로가기
- 홈화면
- Kotlin
- 코테
- 11054
- Android
- 순열
- 매일11시
- 1182
- 11053
- 파이썬
- 나머지
- 11057
- 11기
- 괄호
- 9095
- lcm
- itertools
- 백준
- 최소공배수
- Combination
- permutation
- 앱
- 1260
- Today
- Total
목록11054 (2)
황소개발자
많이 풀면 보입니다 n = int(input()) lst = list(map(int, input().split())) a = [1 for i in range(n)] b = [1 for i in range(n)] for i in range(n): for j in range(i): if lst[i] > lst[j]: a[i] = max(a[i], a[j] + 1) lst.reverse() for i in range(n): for j in range(i): if lst[i] > lst[j]: b[i] = max(b[i], b[j] + 1) b.reverse() c = [0 for i in range(n)] for i in range(n): c[i] = a[i] + b[i] print(max(c) - 1)
n = int(input()) lst = list(map(int, input().split())) dp_left = [1] * n dp_right = [1] * n for i in range(n): for j in range(i): if lst[j] < lst[i]: if dp_left[i] < dp_left[j] + 1: dp_left[i] = dp_left[j] + 1 for i in range(n - 1, -1, -1): for j in range(n - 1, i, -1): if lst[j] < lst[i]: if dp_right[i] < dp_right[j] + 1: dp_right[i] = dp_right[j] + 1 dp = [dp_left[i] + dp_right[i] for i in ran..