코딩테스트 대비/Softeer

[Softeer/Python] 징검다리 ★★★☆☆ - 효과는 굉장했다!

bluetag_boy 2021. 11. 23. 23:41
반응형
 

Softeer

제한시간 : C/C++(1초), Java/Python/JS(2초) | 메모리 제한 : 256MB 남북으로 흐르는 개울에 동서로 징검다리가 놓여져 있다. 이 징검다리의 돌은 들쑥날쑥하여 높이가 모두 다르다. 철수는 개울의 서쪽에

softeer.ai

 

SOLUTION

import sys

N = int(sys.stdin.readline())
stone_height = list(map(int, sys.stdin.readline().split()))
# Dynamic Programming 이용
dp = [1] * N

for i in range(1,N):
    for j in range(i):
        if stone_height[i] > stone_height[j]: # 현재보다 높은 돌을 밟아야 하므로
            dp[i] = max(dp[i], dp[j]+1) # 가장 많이 돌을 밟는 경우의 수를 구함

print(max(dp))