sort 3

programmers 구명보트

programmerslevel2 구명보트문제 설명2인용 구명보트를 사용하여 다양한 몸무게의 사람들을 모두 탈출시키기 위해 필요한 최소한의 구명보트의 개수를 구하는 문제입니다.#include #include using namespace std;int solution(vector people, int limit) { int answer = 0; sort(people.begin(), people.end()); int i = 0, j = people.size()-1; while(j>=i){ if(people[i]+people[j]>limit){ answer++; j--; } else{ answe..

programmers 최솟값 만들기

programmerslevel2 최솟값 만들기문제 설명길이가 같고 자연수로 이루어진 두 배열이 주어지고 두 배열의 값들 중에서 중복 없이 하나씩 뽑아 곱셈을 한다. 이를 배열에 더이상 뽑을 숫자가 없을 때까지 진행하고 곱의 결과값들의 합의 최솟값을 구하는 문제이다.#include #include using namespace std;bool descend(int j, int k){ return j>k;}int solution(vector A, vector B){ int answer = 0; sort(A.begin(), A.end()); sort(B.begin(), B.end(), descend); for(size_t i=0; i 해결 과정처음에 보고 직관적으로 모든 경우의 수를 ..

programmers 호텔 대실 c++

programmerslevel2 호텔 대실문제 설명다양한 예약시간이 주어지고 모든 호텔 이용객을 수용할 수 있는 최소한의 방 개수를 구하는 문제이다.#include #include #include using namespace std;//대소비교를 용이하게 하기위해 시간을 모두 분으로 환산하고 오름차순으로 정렬한다. 방을 사용하기 시작하는 시간이면 1 끝나는 시간이면 -1로 저장하고 정렬했으니까 어떠한 예약이든 합은 0이다. 하지만 최대로 몰리는 시간에 필요한 최소한의 방의 수가 필요한 것이므로 방이 가장 많이 열려있는 시점에 방의 개수를 기록하면 된다. int solution(vector> book_time) { int answer = 0; vector> reserved_time; //..