Archive/Questions

[programmers/Swift] 예산

Marco 2022. 5. 7. 21:12
728x90

programmers.co.kr - 코딩테스트연습 - Lv.1 - Summer/Winter Coding (~2018) - 예산

 

코딩테스트 연습 - 예산

S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는

programmers.co.kr

Constraints :

  • d는 부서별로 신청한 금액이 들어있는 배열이며, 길이(전체 부서의 개수)는 1 이상 100 이하입니다.
  • d의 각 원소는 부서별로 신청한 금액을 나타내며, 부서별 신청 금액은 1 이상 100,000 이하의 자연수입니다.
  • budget은 예산을 나타내며, 1 이상 10,000,000 이하의 자연수입니다.

 

Solution.swift :

//
//  Created by Yongwoo Marco on 2022/05/06.
//  Copyright © 2022 Yongwoo Marco Kim. All rights reserved.
//

func solution(_ d:[Int], _ budget:Int) -> Int {
    var b = budget
    
    return d.sorted().filter({
        b -= $0
        return b >= 0
    }).count
}

print(solution([1,3,2,5,4], 9)) // 3
print(solution([2,2,3,3], 10)) // 4

How I tried this :
정렬해서 가장 작은 요금이 드는 팀부터 하나씩 지원하면

최대한 많은 수를 지원할 수 있다.

문제에 관한 모든 저작권 : https://programmers.co.kr/

728x90