λ¬Έμ μ€λͺ
μ μ‘면체 λͺ¨μμ μμκ° μΌλ ¬λ‘ λμ΄μ μλ€. μμλ§λ€ ν¬κΈ°κ° μ£Όμ΄μ Έ μλλ°, μμ μλ μμμ ν¬κΈ°κ° λ€μ μλ μμμ ν¬κΈ°λ³΄λ€ μμΌλ©΄, μμ μλ μμλ₯Ό λ€μ μλ μμ μμ λ£μ μκ° μλ€. μλ₯Ό λ€μ΄ μμμλΆν° μμλλ‘ ν¬κΈ°κ° (1, 5, 2, 3, 7)μΈ 5κ°μ μμκ° μλ€λ©΄, ν¬κΈ° 1μΈ μμλ₯Ό ν¬κΈ° 5μΈ μμμ λ£κ³ , λ€μ μ΄ μμλ₯Ό ν¬κΈ° 7μΈ μμ μμ λ£μ μ μλ€. νμ§λ§ μ΄λ κ² μμλ₯Ό λ£μ μ μλ λ°©λ²μ μ¬λ¬ κ°μ§κ° μμ μ μλ€. μμ μμμ μ°¨λ‘λλ‘ ν¬κΈ°κ° 1, 2, 3, 7μΈ μμλ₯Ό μ ννλ©΄ μ΄ 4κ°μ μμκ° ν κ°μ μμμ λ€μ΄κ°κ² λλ€.
μμμ ν¬κΈ°κ° μ£Όμ΄μ§ λ, ν λ²μ λ£μ μ μλ μ΅λμ μμ κ°μλ₯Ό μΆλ ₯νλ νλ‘κ·Έλ¨μ μμ±νμμ€.
μ λ ₯
νμΌμ 첫 λ²μ§Έ μ€μ μμμ κ°μ n (1 ≤ n ≤ 1000)μ λνλΈλ€. λ λ²μ§Έ μ€μλ κ° μμμ ν¬κΈ°κ° μμλλ‘ μ£Όμ΄μ§λ€. μμμ ν¬κΈ°λ 1,000μ λμ§ μλ μμ°μμ΄λ€.
μΆλ ₯
첫째 μ€μ ν μ€μ λ£μ μ μλ μ΅λμ μμ κ°μλ₯Ό μΆλ ₯νλ€.
μ μΆλ ₯ μμ
μ λ ₯
8
1 6 2 5 7 3 5 6
μΆλ ₯
5
λ΄ λ¬Έμ νμ΄
import Foundation
var n = Int(readLine()!)!
var box = readLine()!.split(separator: " ").map({Int(String($0))!})
var count = [Int]()
var max = 1
for i in 0..<n {
count.append(1)
for j in 0..<i {
if box[j] < box[i] && count[i] <= count[j] { count[i] = count[j]+1 }
}
if max < count[i] { max = count[i] }
}
print(max)
μ΄ λ¬Έμ λ LIS λ¬Έμ λ‘, κ±°μ λμΌν μμ μ€λͺ μ μ΄μ κ²μκΈμμ μμ±νμΌλ―λ‘ λ체νκ² λ€.
π https://seolhee2750.tistory.com/109
π‘ νΌλλ°±
- LISλ₯Ό ꡬνλ λνμ μΈ λ¬Έμ μΈ κ² κ°μμ DP, LIS 곡λΆνκΈ° μ’μ λ¬Έμ μΈ κ² κ°λ€.
λ¬Έμ
'3οΈβ£ Swift > Problem Solving' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Swift Algorithm] 곡주λμ μ μ BOJ #2457 (0) | 2021.09.01 |
---|---|
[Swift Algorithm] μ€ μΈμ°κΈ° BOJ #7570 (1) | 2021.08.29 |
[Swift Algorithm] νλ°° BOJ #8980 (0) | 2021.08.22 |
[Swift Algorithm] μΉ΄λ ν©μ²΄ λμ΄ BOJ #15903 (0) | 2021.08.22 |
[Swift Algorithm] λ©ν°ν μ€μΌμ€λ§ BOJ #1700 (0) | 2021.08.20 |
λκΈ