https://www.acmicpc.net/problem/2491
import sys
input = sys.stdin.readline
n = int(input())
arr = list(map(int, input().split()))
result1 = [1]*n
result2 = [1]*n
for i in range(n-1):
if arr[i+1] >= arr[i]:
result1[i+1] += result1[i]
for i in range(n-1):
if arr[i+1] <= arr[i]:
result2[i+1] += result2[i]
max1 = max(result1)
max2 = max(result2)
print(max(max1, max2))
와 엄청 헤맸다..😨
처음 풀었던 방법은 각각을 다 경우의 수를 나누어 계산하는 방법이었다. 근데 오류 발생(!)
예를 들면, 4 1 3 3 2 2 9 2 3에서 133을 인식하고 3322를 인식하지 못해서 틀린 풀이라는걸 알았다...🤮
찾아보니 하나의 for문에서 경우의 수를 구하는 방법이 아니라 같거나 크다 / 같거나 작다에 대한 for문을 각각 돌리는게 맞다는걸 알았다... 우선 성공-