Algorithm
[Swift 알고리즘] 프로그래머스 Lv1 예산
Kim_Baechu
2021. 4. 27. 11:49
programmers.co.kr/learn/courses/30/lessons/12982?language=swift
나의 풀이
import Foundation
func solution(_ d:[Int], _ budget:Int) -> Int {
var arr: [Int] = d.sorted()
var budget: Int = budget
while let min = arr.first, budget >= min {
budget -= arr.removeFirst()
}
return d.count - arr.count
}
다른 사람의 풀이
import Foundation
func solution(_ d:[Int], _ budget:Int) -> Int {
var budget = budget
return d.sorted().filter{
budget = budget - $0
return budget >= 0
}.count
}
배울 점
1. 필터를 사용해서 예산에서 금액을 빼고 남은 돈이 0보다 크면 남겨둠.
2. 필터를 사용하면 while보다 작업은 더 많이 할 듯..