DHistory
[Baekjoon] DP - 2491 수열 본문
문제
풀이
"""
d[n]: n일 때, 가장 긴 구간이 되는 길이
"""
import sys
n = int(sys.stdin.readline().rstrip())
numbers = list(map(int, sys.stdin.readline().rstrip().split()))[:n]
def solution(numbers):
# 가장 긴 구간이 되는 길이의 최솟값은 1이다.
d1 = [1] * len(numbers)
d2 = [1] * len(numbers)
for i in range(len(numbers) - 1):
if numbers[i + 1] >= numbers[i]:
d1[i + 1] = d1[i] + 1
numbers = numbers[::-1]
for i in range(len(numbers) - 1):
if numbers[i + 1] >= numbers[i]:
d2[i + 1] = d2[i] + 1
return max(d1 + d2)
print(solution(numbers))
채점 결과
'Computer Science > Algorithm' 카테고리의 다른 글
[Baekjoon] DP - 1463 1로 만들기 (0) | 2023.09.11 |
---|---|
[Baekjoon] 15624 - 피보나치 수 7 (0) | 2023.09.11 |
[Baekjoon] DP - 2839 설탕 배달 (0) | 2023.09.11 |
[Baekjoon] DP - 25644 최대 상승 (0) | 2023.09.11 |
[Baekjoon] DP - 19947 투자의 귀재 배주형 (0) | 2023.09.11 |