programmers.co.kr/learn/courses/30/lessons/12982
처음엔 배열 d의 모든 가능한 조합을 탐색해야 하는 줄 알고 고민했는데,
배열을 정렬한 후 반복문으로 요소의 합을 구해서 budget을 초과하기 전까지의 개수를 반환하면 되는 거였다..!
주어진 배열을 문제에 적합하게 바꿔서 생각하면 쉬운 문제였는데, 주어진 조건 그대로만 생각해서 어렵게 접근했다.
연습을 많이 해서 좀 더 유연하게 생각할 수 있게 해야겠다.
Java
static int solution(int[] d, int budget) {
int answer = 0;
Arrays.sort(d);
int sum = 0;
for (int i = 0; i < d.length; ++i) {
sum += d[i];
if (sum > budget) {
answer = i;
break;
}
answer = i + 1;
}
return answer;
}
'알고리즘 > Programmers' 카테고리의 다른 글
[Programmers] 부족한 금액 계산하기 (0) | 2022.06.15 |
---|---|
[Programmers] 약수의 개수와 덧셈 (0) | 2022.06.15 |
[Programmers] 문자열 내 p와 y의 개수 (0) | 2021.02.02 |
[Programmers] 서울에서 김서방 찾기 (0) | 2021.01.22 |
[Programmers] 문자열 다루기 기본 (0) | 2020.10.04 |
댓글