백준 1965번: 상자넣기 - Swift

4197 단어 DP백준DP

https://www.acmicpc.net/problem/1965

난이도 - 실버2 🥈

알고리즘 분류: dp

🧐 문제접근

가장 긴 증가하는 부분수열 구하는 문제

전체코드

//1965번 상자넣기
let n = Int(readLine()!)!
let boxes = readLine()!.split(separator: " ").map{Int(String($0))!}

//가장 긴 증가하는 부분수열 구하는 문제
var dp = Array(repeating: 1, count: n+1)

for i in 1..<n {
    for j in 0..<i {
        if dp[i] < dp[j] + 1 && boxes[i] > boxes[j] {
            dp[i] = dp[j] + 1
        }
    }
}

print(dp.max()!)

한줄평가: 대표유형이다

좋은 웹페이지 즐겨찾기