반응형
알고리즘 분류
- 다이나믹 프로그래밍
SOLUTION
import sys
N = int(sys.stdin.readline())
N_list = list(map(int, sys.stdin.readline().split()))
dp = [1] * N # Dynamic Programming 이용
for i in range(N):
for j in range(i):
if N_list[i] > N_list[j]:
# dp[현재 인덱스], dp[현재 이전의 인덱스]+1 값을 비교하여 더 큰 값으로 갱신
dp[i] = max(dp[i], dp[j]+1)
print(max(dp))
'코딩테스트 대비 > BOJ' 카테고리의 다른 글
[Baekjoon/Python] 15663번: N과 M (9) - 효과는 굉장했다! (0) | 2022.03.28 |
---|---|
[Baekjoon/Python] 11725번: 트리의 부모 찾기 - 효과는 굉장했다! (0) | 2022.03.28 |
[Baekjoon/Python] 16236번: 아기상어 - 효과는 굉장했다! (0) | 2022.03.28 |
[Baekjoon/Python] 15657번: N과 M (8) - 효과는 굉장했다! (0) | 2022.03.14 |
[Baekjoon/Python] 15654번: N과 M (5) - 효과는 굉장했다! (0) | 2022.03.14 |