728x90
SMALL

using System;

public class Solution {
    public int solution(int[] d, int budget) {
        int answer = 0;
        Array.Sort(d);

/// 소팅하고 마이너스 
        
        for(int i = 0;i<d.Length;i++)
        {
            if(budget >= d[i])
            {
                budget = budget - d[i];
                answer++;
            }
        }
        
        return answer;
    }
}

 

// 다른 사람의 풀이를 보고 한 건데 약간 함정이 있는 게

// 이건 모든 경우에서 예산 배분이 안되는 경우가 없게 설정되어 있는 듯하다.

// 그래서 알고리즘 상으로는 budget을 계속 마이너스 시켜서 0보다 작아지면 그 때 까지 축적된 answer 값을 출력시키는 건데 만약에 예산 배분이 안되면 리턴 값이 0이 나오거나 -1이 나오거나 이런 식으로 처리해야 되는데 그런 케이스는 없는 경우인 거 같다.

728x90

설정

트랙백

댓글