μΌ | μ | ν | μ | λͺ© | κΈ | ν |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | |||
5 | 6 | 7 | 8 | 9 | 10 | 11 |
12 | 13 | 14 | 15 | 16 | 17 | 18 |
19 | 20 | 21 | 22 | 23 | 24 | 25 |
26 | 27 | 28 | 29 | 30 | 31 |
- SwiftUI Tutorials
- GCD
- GroupBy
- νλ‘κ·Έλλ¨Έμ€
- 0μ΄λμ΄μλκΈΈ
- Til
- duno
- DynamicProgramming
- HAVIT
- dfs
- μ΄μ§νμ
- IOS
- λ€μ΄λλ―Ήνλ‘κ·Έλλ°
- Swift
- κΈ°μ΄λ¬Έλ²
- algorithm
- λμ κ³νλ²
- BFS
- SwiftUI
- discardableResult
- μ°μνμ€λΆλΆμμ΄μν©
- SOPT
- SwiftUI νν 리μΌ
- SQL
- APPJAM
- binarySearch
- concurrency
- algoritm
- κ³ λμ kit
- URLSession
- Today
- Total
suvera-dev π₯¦
[νλ‘κ·Έλλ¨Έμ€ Lv3] μ°μ νμ€ λΆλΆ μμ΄μ ν© - Swift λ³Έλ¬Έ
[νλ‘κ·Έλλ¨Έμ€ Lv3] μ°μ νμ€ λΆλΆ μμ΄μ ν© - Swift
suvera 2023. 5. 22. 17:58https://school.programmers.co.kr/learn/courses/30/lessons/161988
λνμ μΈ DPμ ν λ¬Έμ μΈλ°, Swift νμ΄κ° λ§μ΄ μκΈΈλ μ λ‘λ ν©λλ€ !
μ²μμ dp λ°°μ΄μ 2κ° λ§λλ μμ΄λμ΄λ₯Ό λ μ¬λ¦¬μ§ λͺ»ν΄μ μΉκ΅¬μ λμμ λ°μ νμλ€ ! μ€λΌμ janechoi..
λ€μμ λΉμ·ν λ¬Έμ λμ€λ©΄ dp λ°°μ΄μ 2κ°λ‘ λλ μ κ³μ°νλ λ°©λ²μ νμ©ν΄μΌκ² λ€ :)
func solution(_ sequence:[Int]) -> Int64 {
// -1λ‘ μμνλ λ°°μ΄
var dp1 = Array(repeating: 0, count: sequence.count)
// 1λ‘ μμνλ λ°°μ΄
var dp2 = Array(repeating: 0, count: sequence.count)
var dpnum1 = [-1]
var dpnum2 = [1]
var num = 1
for i in 1..<sequence.count {
dpnum1.append(num)
dpnum2.append(-num)
num = -num
}
dp1[0] = dpnum1[0] * sequence[0]
dp2[0] = dpnum2[0] * sequence[0]
for i in 1..<sequence.count {
dp1[i] = max(sequence[i]*dpnum1[i], dp1[i-1]+(sequence[i]*dpnum1[i]))
dp2[i] = max(sequence[i]*dpnum2[i], dp2[i-1]+(sequence[i]*dpnum2[i]))
}
return Int64(max(dp1.max()!, dp2.max()!))
}
1) -1λ‘ μμνλ λ°°μ΄κ³Ό 1λ‘ μμνλ λ°°μ΄μ κ°κ° λ§λ€μ΄μ€λ€.
2) dp λ°°μ΄ λν -1λ‘ μμνλ μ΅λκ°μ μ μ₯ν λ°°μ΄κ³Ό 1λ‘ μμνλ μ΅λκ°μ μ μ₯ν λ°°μ΄μ λ§λ€μ΄μ€λ€.
3) μ νμμ μΈμ μ΅λκ°μ κ°±μ ν΄μ€λ€.
μ¬κΈ°μ μ νμμ μΈμΈ λ, (νμ¬ κ°, μ΄μ κΉμ§μ ν© + νμ¬κ°)μ λΉκ΅ν΄μ€μΌ μ°μ λ°°μ΄μ λ§λ€ μ μλ€.
μ²μμλ μ°μμΈ κ²μ μκ°νμ§ λͺ»νκ³ (μ΄μ κΉμ§μ ν©, μ΄μ κΉμ§μ ν© + νμ¬κ°)μ λΉκ΅ν΄μ£Όμλλ°,
κ·Έλ κ² λλ©΄ νμ¬ μΈλ±μ€λ₯Ό λμ°κ³ λ€μμΌλ‘ λμ΄κ°κ² λκΈ° λλ¬Έμ μ°μ λ°°μ΄μ΄λΌλ μ‘°κ±΄μ΄ κΉ¨μ§λ€ !!
μ΄ μ μ μ μν΄μ νμ΄μΌ νλ€ !
'Algorithm > CodingTest- Swift' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
Backtracking λ°±νΈλνΉ λν λ¬Έμ ) NQueen - Swiftλ‘ κ΅¬ν (0) | 2023.03.30 |
---|