어제 과음한 관계로
오늘은 쉬운문제를,,

# n 입력
n = int(input())
# n_list 입력
n_list = list(map(int, input().split()))
# dp1 (연속해서 같거나 커지는 최댓값 구하기 위한 dp)
dp1 = [
0 for _ in range(n)
]
# dp1 초기설정
dp1[0] = 1
# dp1 채워넣기
for i in range(1, n):
# n_list[i] 가 n_list[i-1]보다 크거나 같으면,
if n_list[i] >= n_list[i-1]:
# 전 dp + 1
dp1[i] = dp1[i-1] + 1
# 작으면
else:
# 1로 초기화
dp1[i] = 1
# dp2 (연속해서 같거나 작아지는 최댓값 구하기 위한 dp)
dp2 = [
0 for _ in range(n)
]
# dp2 초기설정
dp2[0] = 1
# dp2 채워넣기
for i in range(1, n):
# n_list[i] 가 n_list[i-1]보다 작거나 같으면,
if n_list[i] <= n_list[i-1]:
# 전 dp + 1
dp2[i] = dp2[i-1] + 1
# 크면
else:
# 1로 초기화
dp2[i] = 1
# 두 dp의 최댓값 중
# 더 큰값을 출력
print(max(max(dp1), max(dp2)))'Algorithm(BOJ, Python) > Dynamic Programing' 카테고리의 다른 글
| [백준_9658] 돌게임 4 python (0) | 2022.07.24 |
|---|---|
| [백준_17216] 가장 큰 감소하는 부분수열 python (0) | 2022.07.23 |
| [백준_11660] 구간 합 구하기 5 python (0) | 2022.07.21 |
| [백준_9657] 돌게임 3 python (0) | 2022.07.20 |
| [백준_1699] 제곱수의 합 python (0) | 2022.07.19 |