반응형
안녕하세요. 개발 중인 정주입니다.
오늘은 프로그래머스 - 예산 문제를 풀었습니다.
목차
Github
문제 링크
https://programmers.co.kr/learn/courses/30/lessons/12982
풀이
d 배열을 정렬하여 신청 금액이 적은 부서부터 예산을 분배하면 최대한 많은 부서에 예산을 지원할 수 있습니다.
이번 문제도 반복문으로 풀었다가 filter를 사용하면 딱인 것 같아서 filter로 수정해봤습니다.
전체 코드
import Foundation
func solution(_ d:[Int], _ budget:Int) -> Int {
var result: Int = 0
var budget = budget
result = d.sorted().filter {
budget -= $0
return budget >= 0
}.count
return result
}
let d = [1,3,2,5,4]
let budget = 9
print(solution(d, budget))
아직은 초보 개발자입니다.
더 효율적인 코드 훈수 환영합니다!
공감과 댓글 부탁드립니다.
반응형