https://programmers.co.kr/learn/courses/30/lessons/12982
이번건 연습문제 수준이라 간단하게 작성하고 넘어간다.
예산을 배분할 수 있는 최대 부서 개수를 리턴하는 알고리즘인데,
단순히 Sort를 하여 오름차순으로 정렬 후 배열의 길이만큼 반복하면서 예산이 0이 될때까지 부서의 갯수를 더해주면 된다.
[작성코드]
package com.level01;
import java.util.Arrays;
public class Budget {
public static void main(String[] args) {
Budget bud = new Budget();
bud.solution(new int [] {1,3,2,5,4}, 9);
}
public int solution(int[] d, int budget) {
int answer = 0;
Arrays.sort(d);
for (int i = 0; i < d.length; i++) {
if (budget < d[i] || budget == 0) {
break;
} else {
budget = budget - d[i];
answer++;
}
}
return answer;
}
}
끝!
https://github.com/RUCKUSJERRY/practiceOfAlgorithm/blob/main/Prs_Pratice/src/com/level01/Budget.java
'문제풀이 > 프로그래머스' 카테고리의 다른 글
콜라츠 추측 / 프로그래머스 연습문제 / programmers / level1 / Java (0) | 2021.08.01 |
---|---|
제일 작은 수 제거하기 / 프로그래머스 연습문제 / programmers / level1 / Java (0) | 2021.07.31 |
3진법 뒤집기 / 프로그래머스 연습문제 / programmers / level1 / Java (0) | 2021.07.29 |
숫자 문자열과 영단어 / 프로그래머스 연습문제 / programmers / level1 / Java (0) | 2021.07.27 |
다트게임 / 프로그래머스 연습문제 / programmers / level1 / Java (0) | 2021.07.04 |