실제로 문제의 난이도가 낮게 책정된 쉬운 문제입니다.
근데 저는 어렵게 풀었습니다...
제 풀이가 이해가 가지 않는다면 조금 더 직관적으로 접근한 친구의 풀이를 참고해보세요!
N = int(input())
# hs: heights (높이들...ㅈㅅ)
hs = list(map(int, input().split()))
sv = -1 # 오르막 길 시작 값 초기화
ev = -1 # 오르막 길 마지막 값 초기화
results = []
for i in range(N-1):
# i+1 원소가 오르막길인데 마지막 원소인 경우
if i == N-2 and sv != -1 and hs[i] < hs[i+1]:
results.append([sv, hs[i+1]])
# i 원소가 오르막길 시작인 경우
if sv == -1 and hs[i] < hs[i+1]:
sv = hs[i]
# i 원소가 오르막길 마지막인 경우
if sv != -1 and hs[i] >= hs[i+1]:
ev = hs[i]
results.append([sv, ev])
sv, ev = -1, -1
mV = 0
# 최고로 긴 오르막길 길이 구하기
for sv, ev in results:
if mV < ev - sv:
mV = ev - sv
print(mV)