229. 가장 긴 증가하는 부분 수열
1) 어떤 전략(알고리즘)으로 해결?
2) 코딩 설명
<내 풀이>
import sys
n = int(sys.stdin.readline().rstrip())
nlis = (list(map(int, sys.stdin.readline().rstrip().split())))
dp = [1 for _ in range(n+1)]
for i in range(1,n) :
for j in range(i) :
if nlis[i] > nlis[j] :
dp[i] = max(dp[i], dp[j]+1)
print(max(dp))
< 틀렸던 풀이>
import sys
n = int(sys.stdin.readline().rstrip())
nlis = (list(map(int, sys.stdin.readline().rstrip().split())))
dp = [1 for _ in range(max(nlis)+1)]
for i in range(1,n) :
for j in range(i) :
if nlis[i] > nlis[j] :
dp[i] = max(dp[i], dp[j]+1)
print(max(dp))
<반성 점>
- 문제를 잘못 이해했어서 많이 헤맸던 점이 아쉬운 부분이다~
<배운 점>