본문 바로가기
JAVA/Coding Test Study

[Lv.1] 프로그래머스 - 예산 : Java

by ♡˖GYURI˖♡ 2024. 4. 15.
728x90

 

 

프로그래머스

코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.

programmers.co.kr

 

 

 

이해하기

분명 풀 수 있을 것 같은데 처음에 왠지 감이 안 잡혀서 답답했던 문제

 

  • d 배열을 오름차순으로 정렬
  • 앞에서부터 budget에서 하나씩 뺌
  • 만약 계산한 budget이 0보다 작으면 해당 부서에 줄 수 없는 것이니 break
  • 아니라면 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;
    }
}