티스토리 뷰
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보다 작업은 더 많이 할 듯..
'Algorithm' 카테고리의 다른 글
[Swift 알고리즘] 프로그래머스 Lv1 소수만들기 (0) | 2021.04.27 |
---|---|
[Swift 알고리즘] 프로그래머스 Lv1 음양 더하기 (0) | 2021.04.27 |
[Swift 알고리즘] 프로그래머스 Lv1 두 개 뽑아서 더하기 (0) | 2021.04.27 |
[Swift 알고리즘] 프로그래머스 Lv1 내적 (0) | 2021.04.27 |
[Swift 알고리즘] 프로그래머스 Lv1 가운데 글자 가져오기 (0) | 2021.04.27 |
댓글
공지사항