https://school.programmers.co.kr/learn/courses/30/lessons/12982
단순히 현재 예산에서 최대한 뽑아 낼 수 있는 지원 가능한 부서를 세기 위해서
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문의 조건문을 잘 써야겠다.
'콘솔창 & 윈도우창 > 코딩 테스트' 카테고리의 다른 글
프로그래머스 LV.2 피로도 (0) | 2024.11.10 |
---|---|
프로그래머스 LV.2 점프와 순간이동 (0) | 2024.11.09 |
1253 골드4 좋다 (1) | 2024.11.08 |
프로그래머스 LV.2 - N개의 최소공배수 (1) | 2024.11.07 |
프로그래머스 LV.2 다음 큰 숫자 (0) | 2024.11.07 |