😎풀이

  1. dp 선언
  2. maxLen 최대길이 선언
  3. nums를 순회하며 이중반복
    3-1. 매 요소 이전의 요소와 이어질 수 있다면 dp 배열 증가
  4. 최대 길이 반환
function lengthOfLIS(nums: number[]): number {
    const dp = Array(nums.length).fill(1)
    let maxLen = 1
    for(let i = 1; i < nums.length; i++) {
        for(let j = 0; j < i; j++) {
            if(nums[i] <= nums[j]) continue
            dp[i] = Math.max(dp[i], dp[j] + 1)
        }
        maxLen = Math.max(maxLen, dp[i])
    }
    return maxLen
};
profile
내 지식을 공유할 수 있는 대담함

0개의 댓글