smooth waters run deep

1d-1c/Programmers

Level1_예산 (JAVA)

yeon_11 2020. 11. 2. 14:55
 

코딩테스트 연습 - 예산

S사에서는 각 부서에 필요한 물품을 지원해 주기 위해 부서별로 물품을 구매하는데 필요한 금액을 조사했습니다. 그러나, 전체 예산이 정해져 있기 때문에 모든 부서의 물품을 구매해 줄 수는

programmers.co.kr

import java.util.Arrays;

class Solution {
    public int solution(int[] d, int budget) {
        
        Arrays.sort(d);
        
        int answer = 0;
        while(answer<d.length){
            budget -= d[answer];
            if(budget < 0)
                break;
            else
                answer++;
        }

        return answer;
    }
}

 

1. d를 정렬한다.

 

2. budget - d[i] 를 해준다.

 

   만약 뺄셈 후 아직 예산이 남는다면 == 0이상이라면 answer값을 +1 해준다.

   뺄셈 후 음수가 된다면 == 예산이 없다면 answer값이 정답!