728x90
문제
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
코드
public class Solution28_4 {
public static 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) //예산에서 뺐을 때 0 밑으로 떨어지면 answer 값을 증가시키기 전에 break로 탈출한다
break;
answer++;
}
return answer;
}
public static void main(String[] args) {
int[] d = { 1, 3, 2, 5, 4 };
int[] d1 = { 2, 2, 3, 3 };
System.out.println(solution(d, 9));
System.out.println(solution(d1, 10));
}
}
배운점
Arrays.sort로 배열을 정렬해 주면서 문제가 간단해졌다.
순서가 없는 것들 사이에 순서를 정해주는 것이 큰 힘을 발휘한다
728x90
'Java 알고리즘 공부 (프로그래머스)' 카테고리의 다른 글
| [프로그래머스 Lv1] 덧칠하기 (Java) (1) | 2023.10.05 |
|---|---|
| [프로그래머스 Lv1] k번째수 (Java) (1) | 2023.10.05 |
| [프로그래머스 Lv1] 소수 만들기 (Java) (0) | 2023.10.03 |
| [프로그래머스 Lv1] x만큼 간격이 있는 n개의 숫자 (Java) (0) | 2023.10.03 |
| [프로그래머스 Lv1] 핸드폰 번호 가리기 (Java) (0) | 2023.10.03 |