알고리즘

소스코드 - Kotlin

fun lisDP(arr: IntArray): Int {
    val n = arr.size
    val dp = IntArray(n) { 1 } 

    for (i in 1 until n) {
        for (j in 0 until i) {
            if (arr[i] > arr[j] && dp[i] < dp[j] + 1) {
                dp[i] = dp[j] + 1
            }
        }
    }
    return dp.maxOrNull() ?: 0
}

범위 및 함수 사용시 유의사항

시간 복잡도