프로그래밍
프로그래머스 C# 예산(int[]의 Sort)
노마드선샤인
2023. 1. 25. 16:09
728x90
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