Hayden's Archive

[알고리즘] 프로그래머스 : 예산 본문

Algorithm

[알고리즘] 프로그래머스 : 예산

_hayden 2020. 5. 27. 20:49

알고리즘 문제 출처 : 프로그래머스 https://programmers.co.kr/learn/courses/30/lessons/12982

 

코딩테스트 연습 - 예산

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

programmers.co.kr

 


내가 작성한 코드

배열 d를 오름차순으로 배열한 뒤 0번째 인덱스부터 차례대로 더해간다. 더했더니 합이 예산보다 클 경우에는 i를 저장하여 반환하고, 더했더니 예산과 같을 경우에는 i+1을 저장하여 반환하고, 그 외의 값(i보다 작은데 더 이상 더할 수 없는 경우)들은 차례대로 i+1을 저장해간 뒤 반복문이 끝나면 값을 반환한다.

import java.util.Arrays;
class Solution {
    public int solution(int[] d, int budget) {
        int answer = 0;
        int total = 0;
        Arrays.sort(d);
        for(int i=0; i<d.length; i++){
            total += d[i];
            if(total > budget){
                answer = i;
                return answer;
            }
            if(total == budget){
                answer = i+1;
                return answer;
            }
            answer = i+1;
        }
        return answer;
    }
}