BOJ - 2491

주의·2024년 1월 30일
0

boj

목록 보기
146/214

백준 문제 링크
수열

❓접근법

  1. 수열이 증가할 때와 감소할 때를 나눠서 구해야한다.
  2. 2개의 DP를 만들어 위의 조건을 고려해서 값을 구해준다.
  3. 2개의 DP에서 가장 큰 값을 구해주면 끝!

👌🏻코드

N = int(input())

DP = [1] * N
DP2 = [1] * N

array = list(map(int, input().split()))

# 감소하는 수열
for i in range(N-1):
    if array[i] >= array[i+1]:
        DP[i+1] += DP[i]
        
# 증가하는 수열 
for i in range(N-1):
    if array[i] <= array[i+1]:
        DP2[i+1] += DP2[i]
        
print(max(max(DP), max(DP2)))

0개의 댓글