[프로그래머스 Lv.1] 예산
파이썬 언어 풀이
def solution(d, budget):
answer = 0
d.sort()
if len(d) == 1:
if d[0] <= budget:
answer = 1
else:
answer = 0
else:
for i in range(len(d)):
budget = budget - d[i]
if budget < 0:
break
answer += 1
return answer
자바 언어 풀이
import java.util.Arrays;
class Solution {
public int solution(int[] d, int budget) {
int answer = 0;
Arrays.sort(d);
if (d.length == 1)
if (d[0] <= budget)
answer = 1;
else
answer = 0;
else
for(int i = 0; i < d.length; i++){
budget -= d[i];
if (budget < 0)
break;
answer += 1;
}
return answer;
}
}
정렬 방식
Python
- 오름차순 정렬 :
arr.sort()
- 내림차순 정렬 :
arr.sort(reverse = True)
Java
- 오름차순 정렬 :
Arrays.sort(arr)
- 내림차순 정렬 :
Arrays.sort(arr, Collections.reverseOrder())
Integer[] d1 = Arrays.stream(d).boxed().toArray(Integer[]::new);
Arrays.sort(d1, Collections.reverseOrder());
- 자바에서 내림차순 정렬을 수행하기 위해선
Int
형 배열이 아니라 Integer
형 배열로 변환하는 과정이 필요함
Integer
형 배열로 변환이 되면 Collections.reverseOrder()
를 사용해서 내림차순 정렬할 수 있음
d = Arrays.stream(d1).mapToInt(Integer::intValue).toArray();
- 반대로 다시
Int
형 배열로 되돌릴 수도 있음