콘솔창 & 윈도우창/코딩 테스트
프로그래머스 LV.1 예산
뽀또치즈맛
2024. 11. 9. 16:13
https://school.programmers.co.kr/learn/courses/30/lessons/12982
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr

단순히 현재 예산에서 최대한 뽑아 낼 수 있는 지원 가능한 부서를 세기 위해서
vector의 sort를 이용했다.
<내가 통과한 코드>
#include <iostream>
#include <stdio.h>
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
int solution(vector<int> d, int budget) {
int answer = 0;
sort(d.begin(), d.end());
for (int i = 0; i < d.size(); i++) {
if (budget < d[i]) break;
budget -= d[i];
answer++;
}
return answer;
}
남이 작성한 코드
#include <iostream>
#include <vector>
#include <algorithm>
using namespace std;
int solution(vector<int> d, int budget) {
sort(d.begin(), d.end());
int i;
for (i = 0; (budget=budget-d[i]) >= 0 && i < d.size(); i++) ;
return i;
}
남의 코드를 보니, for문의 조건 문을 효율적으로 잘 쓴것이 보였다.
나도 앞으로 저렇게 for문의 조건문을 잘 써야겠다.