728x90
반응형
기본적인 다이나믹 프로그래밍 문제이다.
N = int(input())
li = list(map(int, input().split()))
dp1, dp2 = [1]*N, [1]*N
for i in range(1, N):
if li[i] <= li[i-1]:
dp1[i] = max(dp1[i], dp1[i-1]+1)
if li[i] >= li[i-1]:
dp2[i] = max(dp2[i], dp2[i-1]+1)
print(max(max(dp1), max(dp2)))
728x90
반응형
'Agorithm > 백준 알고리즘' 카테고리의 다른 글
백준 알고리즘 4097번 수익(python) (0) | 2021.03.21 |
---|---|
백준 알고리즘 1965번 상자넣기(python) (0) | 2021.03.21 |
백준 알고리즘 1120번 문자열(python) (0) | 2021.03.21 |
백준 알고리즘 11055번 가장 큰 증가 부분 수열(python) (0) | 2021.03.21 |
백준 알고리즘 11722번 가장 긴 감소하는 부분 수열(python) (0) | 2021.03.21 |