[2021-07-13] 예산
2021. 7. 13. 11:40ㆍ코딩테스트
푼 시간 : 5분
언어 : 자바
https://programmers.co.kr/learn/courses/30/lessons/12982
코딩테스트 연습 - 예산
S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는
programmers.co.kr
탐욕법이라고 생각했지만
그냥 쉽게 생각했다.
어차피 모든 부서가 작은값부터 들어가야 최대가 될수 있기에
그냥 다른거 안 넣었다..
지문 참 어렵게 풀어 쓴 거 같다.
import java.util.*;
class Solution {
public int solution(int[] d, int budget) {
int answer = 0;
int temp=0;
// 더할 상자
Arrays.sort(d);
// 작은거부터 더하려고 정렬함
for(int i=0; i<d.length; i++){
if(temp+d[i]<=budget){
// 예산을 초과하지 않은 경우
temp+=d[i];
answer++;
}
else
// 초과하면 바로 컷
break;
}
return answer;
}
}
요새 temp를 상자라고 생각하고 코딩하는 것 같다.
'코딩테스트' 카테고리의 다른 글
[2021-09-10] 복서 정렬하기 (0) | 2021.09.11 |
---|---|
[2021-07-25] 기능개발 (lv2) (0) | 2021.07.25 |
[2021-07-12] 숫자 문자열과 영단어 (0) | 2021.07.12 |
[2021-06-15] 내적 (0) | 2021.06.15 |
[2021-06-13] 로또의 최고 순위와 최저 순위 (0) | 2021.06.13 |