λ¬Έμ μ€λͺ
Sμ¬μμλ κ° λΆμμ νμν λ¬Όνμ μ§μν΄ μ£ΌκΈ° μν΄ λΆμλ³λ‘ λ¬Όνμ ꡬ맀νλλ° νμν κΈμ‘μ μ‘°μ¬νμ΅λλ€. κ·Έλ¬λ, μ 체 μμ°μ΄ μ ν΄μ Έ μκΈ° λλ¬Έμ λͺ¨λ λΆμμ λ¬Όνμ κ΅¬λ§€ν΄ μ€ μλ μμ΅λλ€. κ·Έλμ μ΅λν λ§μ λΆμμ λ¬Όνμ κ΅¬λ§€ν΄ μ€ μ μλλ‘ νλ €κ³ ν©λλ€.
λ¬Όνμ κ΅¬λ§€ν΄ μ€ λλ κ° λΆμκ° μ μ²ν κΈμ‘λ§νΌμ λͺ¨λ μ§μν΄ μ€μΌ ν©λλ€. μλ₯Ό λ€μ΄ 1,000μμ μ μ²ν λΆμμλ μ νν 1,000μμ μ§μν΄μΌ νλ©°, 1,000μλ³΄λ€ μ μ κΈμ‘μ μ§μν΄ μ€ μλ μμ΅λλ€.
λΆμλ³λ‘ μ μ²ν κΈμ‘μ΄ λ€μ΄μλ λ°°μ΄ dμ μμ° budgetμ΄ λ§€κ°λ³μλ‘ μ£Όμ΄μ§ λ, μ΅λ λͺ κ°μ λΆμμ λ¬Όνμ μ§μν μ μλμ§ return νλλ‘ solution ν¨μλ₯Ό μμ±ν΄μ£ΌμΈμ.
μ ν 쑰건
- dλ λΆμλ³λ‘ μ μ²ν κΈμ‘μ΄ λ€μ΄μλ λ°°μ΄μ΄λ©°, κΈΈμ΄(μ 체 λΆμμ κ°μ)λ 1 μ΄μ 100 μ΄νμ λλ€.
- dμ κ° μμλ λΆμλ³λ‘ μ μ²ν κΈμ‘μ λνλ΄λ©°, λΆμλ³ μ μ² κΈμ‘μ 1 μ΄μ 100,000 μ΄νμ μμ°μμ λλ€.
- budgetμ μμ°μ λνλ΄λ©°, 1 μ΄μ 10,000,000 μ΄νμ μμ°μμ λλ€.
μ μΆλ ₯ μ
d | budget | result |
[1,3,2,5,4] | 9 | 3 |
[2,2,3,3] | 10 | 4 |
λ΄ λ¬Έμ νμ΄
import Foundation
func solution(_ d:[Int], _ budget:Int) -> Int {
let dep = d.sorted()
var bud = budget
var count = 0
for i in 0..<dep.count {
if dep[i] <= bud { count += 1; bud -= dep[i] }
else { break }
}
return count
}
- μμ°μ μ΄λ¦¬ μ 리 λΆλ°°ν΄ λ³Ό νμ μμ΄, μ΅λν λ§μ λΆμμ μμ°μ λΆλ°°νκΈ° μν¨μ΄λΌλ©΄ μμ μμ°μ μꡬν λΆμλΆν° μμ°μ λΆλ°°νλ©΄ λκ² λ€κ³ μκ°νλ€.
- μ£Όμ΄μ§ μμ° λ°°μ΄μ μ€λ¦μ°¨μ μ λ ¬νκ³ , μμ μμ°μ μꡬν λΆμλΆν° μμ°μ λΆλ°°ν΄μ£Όμλ€.
- ν λΆμμ μμ°μ λΆλ°°νλ©΄ count++ ν΄μ£Όμκ³ , λΆλ°°ν μμ°λ§νΌ μ 체 μμ° budμμ λΉΌμ£Όμλ€.
μΈμμ μΈ νμ΄
import Foundation
func solution(_ d:[Int], _ budget:Int) -> Int {
var budget = budget
return d.sorted().filter{
budget = budget - $0
return budget >= 0
}.count
}
- filterλ₯Ό μ¬μ©νμ¬ λ°λ‘ λ¦¬ν΄ λ¬Έμμ μμ° λΆλ°°λ₯Ό ν΄μ£Όμλ€.
π‘ νΌλλ°±
- filterλ₯Ό μ μ ν μ¬μ©νλ κ΅³μ΄ forλ¬Έμ λ°λ‘ λ릴 νμκ° μλ€.,!
- κ³ μ°¨ν¨μ νμ©μ μμ΄μλ λ§€μΌ λΆμ‘±ν λλμ΄λ€.γ
λ¬Έμ
'3οΈβ£ Swift > Problem Solving' μΉ΄ν κ³ λ¦¬μ λ€λ₯Έ κΈ
[Swift Algorithm] 3μ§λ² λ€μ§κΈ° Programmers(Lv.1) (0) | 2021.06.18 |
---|---|
[Swift Algorithm] μ½μμ κ°μμ λ§μ Programmers(Lv.1) (0) | 2021.06.18 |
[Swift Algorithm] λ κ° λ½μμ λνκΈ° Programmers(Lv.1) (0) | 2021.06.17 |
[Swift Algorithm] 2016λ Programmers(Lv.1) (0) | 2021.06.17 |
[Swift Algorithm] κ°μ΄λ° κΈμ κ°μ Έμ€κΈ° Programmers(Lv.1) (0) | 2021.06.17 |
λκΈ