반응형
SMALL
https://programmers.co.kr/learn/courses/30/lessons/12982
- 문제의 핵심!
꼭 예산을 0만큼 남기라는 것이 아니라 나눌 수 있는 최대 부서면 된다는 것
그렇다면 작은 금액부터 나누어주는 방식이면 최대로 나누어줄 수 있겠지!
그래서 정렬부터 해주고 시작한다.
import java.util.*;
class Solution {
public int solution(int[] d, int budget) {
int answer = 0;
int sum = 0;
/* 문제의 핵심!
꼭 예산을 0만큼 남기라는 것이 아니라 나눌 수 있는 최대 부서면 된다는 것
그렇다면 작은 금액부터 나누어주는 방식이면 최대로 나누어줄 수 있겠지!
그래서 정렬부터 해주고 시작한다.
*/
Arrays.sort(d);
for(int i = 0; i < d.length; i++) {
if(sum + d[i] > budget) { // 예산 초과되면 그만
break;
}
sum += d[i];
answer++;
}
return answer;
}
}
반응형
LIST
'JAVA > Algorithm' 카테고리의 다른 글
[프로그래머스/java] 프린터 (속도 차이) (0) | 2020.12.23 |
---|---|
[프로그래머스/java] 비밀지도 (2018 KAKAO BLIND 1차) (0) | 2020.12.18 |
[프로그래머스/java] x만큼 간격이 있는 n개의 숫자 (0) | 2020.12.14 |
[프로그래머스/java] 행렬의 덧셈 (0) | 2020.12.13 |
[프로그래머스/java] 핸드폰 번호 가리기 (0) | 2020.12.12 |