-
반응형
안녕하세요, 하루플입니다😁
프로그래머스 1단계 문제 예산 풀이입니다.
문제 정리
예산을 1000원 신청하였다면 정확히 1000원을 지원해야하며, 1000원보다 적은 금액을 지원해 줄 수는 없다.
int[] d : 부서별로 신청한 금액
int budget : 예산
int answer : 최대 몇 개의 부서에 물품을 지원할 수 있는가?
1. 우선 배열의 예산을 계속 더해줄 변수 int result = 0; 을 생성해줍니다.
2. 작은 수 부터 더해주어야 가장 최대의 결과값을 낼 수 있으므로 배열을 정렬해줍니다.
3. for문에서 d 배열 길이만큼 i를 반복합니다.
4. d 배열의 값을 하나식 result에 더해줍니다.
5. result에 더하는 과정 중 예산 budget보다 result가 커지면 return할 변수 answer에 i를 적용합니다.
6. for 문 밖에서 만약 result가 budget보다 작거나 같다면 배열 길이 전부를 예산에 적용할 수 있으므로 배열 길이를 answer에 적용합니다.
7. answer을 return 합니다.
간단하지만 조금 생각이 필요한 문제였네요!
저는 아래 블로그를 참고해서 풀어보았습니다.
https://cnwlcjf.tistory.com/48
반응형'개발 > 코딩테스트' 카테고리의 다른 글
[프로그래머스/JAVA] 부족한 금액 계산하기 (1) 2021.10.29 [프로그래머스/JAVA] 나머지가 1이 되는 수 찾기 (0) 2021.10.28 [프로그래머스/JAVA] 완주하지 못한 선수 (0) 2021.10.27 [프로그래머스/JAVA] 최소직사각형 (0) 2021.10.27 [프로그래머스/JAVA] 수박수박수박수박수박수? (0) 2021.10.26 댓글