- 내 풀이
import java.util.Arrays;
class Solution {
public int solution(int[] d, int budget) {
int answer = 0;
// 신청한 부서 금액 합계
int sum = 0;
// 부서마다 신청 금액이 다르기 때문에 오름차순으로 정렬해준다.
Arrays.sort(d);
for (int i = 0; i < d.length; i++) {
sum += d[i];
// for문이 0부터 시작되고
// 합계가 예산을 넘어갔을 때의 i가 배열의 i가 아닌 신청한 부서의 수가된다
if (sum > budget){
answer = i;
break;
}
}
// 합계와 예산이 같은 경우에 제대로 카운트가 되지 않는다
if (sum <= budget){
answer = d.length;
}
return answer;
}
}
- 다른 사람 풀이
import java.util.*;
class Solution {
public int solution(int[] d, int budget) {
int answer = 0;
Arrays.sort(d);
for (int i = 0; i < d.length; i++) {
budget -= d[i];
if (budget < 0) break;
answer++;
}
return answer;
}
}
import java.util.Arrays;
class Solution {
public int solution(int[] d, int budget) {
int answer = 0;
int[] dept = Arrays.copyOf(d, d.length);
Arrays.sort(dept);
int sum = 0;
for (int inx=0; inx<dept.length; inx++) {
sum += dept[inx];
if (sum<=budget) {
answer++;
}
}
return answer;
}
}
'프로그래머스 > [프로그래머스 - JAVA] Lv.1' 카테고리의 다른 글
[프로그래머스 - JAVA] 삼총사 (0) | 2023.04.02 |
---|---|
[프로그래머스 - JAVA] 시저 암호 (0) | 2023.04.02 |
[프로그래머스 - JAVA] 이상한 문자 만들기 (0) | 2023.03.30 |
[프로그래머스 - JAVA] 같은 숫자는 싫어 (0) | 2023.03.30 |
[프로그래머스 - JAVA] 직사각형 별찍기 (0) | 2023.03.29 |
댓글