728x90

프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제 내용, 조건, 예시는 프로그래머스 사이트 참조
알고리즘
문제와 풀이 과정을 보면 경우의 수를 구해야하는 것 같고 복잡해보일 수 있지만 잘 보면 간단히 풀리는 문제입니다.
예산을 가지고 최대 몇 개의 부서에게 지원해줄 수 있냐는 것인데
"금액을 적게 요청한 부서에게 순서대로 주었을 때 최대 몇개 부서가 받을 수 있는가?"를 체크하면 됩니다.
- 입력이 들어온 d를 오름차순 정렬해줌
- 순서대로 더하면서 총 합이 budget을 넘는지 체크
- 넘으면 종료 후 값 리턴

index[3]일 때 budget 크기를 넘기 때문에 최대 3개의 부서에 물품을 지원할 수 있음
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #include <string> #include <vector> #include <algorithm> using namespace std; int solution(vector<int> d, int budget) { int answer = 0; int sum = 0; sort(d.begin(), d.end()); for(int i = 0; i < d.size(); i++) { sum += d[i]; if(sum > budget) { break; } answer++; } return answer; } | cs |
↓↓↓↓↓↓ 유익했다면 하트 뿅 ♥ ↓↓↓↓↓↓
728x90
반응형
'프로그래밍 > 프로그래머스' 카테고리의 다른 글
| Lv1_[크기가 작은 부분문자열, C++] 풀이 및 알고리즘 정리 - 프로그래머스 (0) | 2023.02.07 |
|---|---|
| Lv1_[3진법 뒤집기, C++] 풀이 및 알고리즘 정리 - 프로그래머스 (0) | 2023.01.16 |
| Lv1_[최소직사각형, C++] 풀이 및 알고리즘 정리 - 프로그래머스 (0) | 2023.01.14 |
| Lv1_[[1차] 비밀지도, C++] 풀이 및 알고리즘 정리 - 프로그래머스 (0) | 2023.01.13 |
| Lv1_[삼총사, C++] 풀이 및 알고리즘 정리 - 프로그래머스 (1) | 2023.01.12 |
댓글