가오리의 코딩일기

[11054] 가장 긴 바이토닉 부분 수열 본문

Python/백준

[11054] 가장 긴 바이토닉 부분 수열

류경혜 2022. 5. 25. 13:10

n = int(input())
data = list(map(int, input().split()))
reverse_data = data[::-1]
up = [1 for i in range(n)]
down = [1 for i in range(n)]
for i in range(n):
    for j in range(i):
        if data[i] > data[j]:
            up[i] = max(up[i], up[j]+1)
        if reverse_data[i] > reverse_data[j]:
            down[i] = max(down[i], down[j]+1)
result = [0 for i in range(n)]
for i in range(n):
    result[i] = up[i] + down[n-i-1] - 1
print(max(result))

'Python > 백준' 카테고리의 다른 글

[2579] 계단 오르기  (0) 2022.05.25
[1912] 연속 합  (0) 2022.05.25
[11722] 가장 긴 감소하는 부분 수열  (0) 2022.05.25
[11055] 가장 큰 바이토닉 부분 수열  (0) 2022.05.24
[11053] 가장 긴 증가하는 부분 수열  (0) 2022.05.24