언어

징검다리 lv.3

땅호720 2023. 12. 7. 16:06
import sys

N = int(input())
heights = list(map(int, input().split()))

answers = [1] * N

for i in range(1,N):
  for j in range(i):
    if heights[i] > heights[j]:    # 왼쪽 돌이 i돌보다 낮으면
        answers[i] = max(answers[i], answers[j]+1) # 왼쪽 돌 밟기+1 (기존 밟는 횟수와 비교 후 최댓값 갱신)

#for i, h in enumerate(heights):
#  answer = h
#  for n in range(i+1, N):
#    if heights[n] > answer:
#      answers[i] += 1
#      answer = heights[n]

print(max(answers))

 

제출했던 답안 (주석)은 처음 시작부터 더 높은 돌을 밟아 나아가는 코드였지만, 통과하지 못함