본문 바로가기
휴지통/알고리즘 & 자료구조

예산

by 신재권 2022. 10. 20.
package programmers;

import java.util.*;

public class 예산 {

   public static int solution(int[] d, int budget) {
      int answer = 0;
      List<Integer> l = new ArrayList<>();
      for (int i : d) {
         l.add(i);
      }
      l.sort(Comparator.reverseOrder());

      int c = 0;
      while (c < l.size()) {
         int tmp = budget;
         int cnt = 0;
         for (int i = c; i < l.size(); i++) {
            tmp -= l.get(i);
            if (tmp < 0) {
               break;
            } else {
               cnt++;
            }
         }
         answer = Math.max(answer, cnt);
         c++;
      }
      return answer;
   }

   public static void main(String[] args) {
      System.out.println(solution(new int[] {1, 3, 2, 5, 4}, 9));
      System.out.println(solution(new int[] {2, 2, 3, 3}, 10));
   }
}

'휴지통 > 알고리즘 & 자료구조' 카테고리의 다른 글

비밀지도  (0) 2022.10.22
시저암호  (0) 2022.10.20
백준 2003  (0) 2022.09.24
백준 1300  (0) 2022.09.22
백준 17266  (0) 2022.09.22