https://programmers.co.kr/learn/courses/30/lessons/12982
코딩테스트 연습 - 예산
S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는 ��
programmers.co.kr
아니 이걸 왜 DP라고 생각하고 끙끙댔지 ㅋㅋㅋㅋ
어떤지 난이도 1에 있는게 이상하다 싶었다
이 문제는 그리디로 접근하면 된다.
일단 d를 오름차순으로 정렬하고 budget이 넘지 않을때까지 첫번째 원소부터 선택해나가면 된다.
결론은 매우 간단한 문제였다..
import java.util.Arrays;
class Solution {
public int solution(int[] d, int budget) {
Arrays.sort(d);
int sum = 0;
int i;
for (i = 0; i < d.length; i++) {
if (sum + d[i] > budget) break;
sum += d[i];
}
return i;
}
}
'Algorithm > 프로그래머스' 카테고리의 다른 글
[프로그래머스] 소수 만들기 - Java (0) | 2020.05.19 |
---|---|
[프로그래머스] 스킬트리 - Java (0) | 2020.05.19 |
[프로그래머스] 지형 이동 - Java (0) | 2020.05.18 |
[프로그래머스] 종이접기 - Java (0) | 2020.05.18 |
[프로그래머스] 베스트앨범 - Java (0) | 2020.05.18 |