업데이트:

카테고리: , , ,

1. 문제

문제는 링크에 들어가면 있다.

2. 정답 코드

문제의 내 정답 코드는 다음과 같다.

import sys

N = int(input())
numbers = list(map(int, sys.stdin.readline().split()))
dp_table = [1] * N
for i in range(1,N):
    for j in range(i):
        if numbers[i] > numbers[j] :
            dp_table[i] = max(dp_table[i],dp_table[j]+1)
print(max(dp_table))





3. 풀이 및 생각


문제 풀이

이 문제의 풀이는 동영상으로 올렸었으나, 소리가 녹음되지 않아서… 비슷한 문제 풀이인 11055 가장 큰 증가 부분 수열을 보자.


나의 생각

LIS라는 개념에 대해서 처음 알게 되었다. 2중 FOR문을 써야할거같다곤 생각은 했지만, 어떻게 해야할지 몰랐다. 이 방식 잘 알고가자.

최대 1 분 소요