문제 출처: https://programmers.co.kr/learn/courses/30/lessons/42885
코딩테스트 연습 - 구명보트
무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있습니다. 예를 들어, 사람들의 몸무게가 [70kg, 50kg, 80kg, 5
programmers.co.kr

해당 문제는 그리디(Greedy) 알고리즘으로 항상 최적의 선택(optimal solution)을 해야하는 문제입니다. 해당 문제를 풀기 위해서 저는 sort를 이용하였습니다. 무인도에 갇힌 사람들의 몸무게로 정렬을 한후 left와 right를 보는 커서를 두개 두어 같이 탈 수 있거나, 몸무게가 무거운 사람만 탈 수 있는 경우로 나뉩니다.
코드는 다음과 같습니다:)
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
int solution(vector<int> people, int limit) {
int answer = 0, left, right ;
sort(people.begin(), people.end()) ;
for(left = 0, right = people.size()-1 ; left < right ; right--){
if(people[left] + people[right] <= limit)
left++ ;
answer += 1 ;
}
if(left == right)
answer += 1 ;
return answer;
}
문제없이 해결할 수 있었습니다.

해당 문제는 Github에서도 보실 수 있습니다.
https://github.com/gurcks8989/CodingTest/blob/master/Programmers/P42885_Lifeboat.cpp
GitHub - gurcks8989/CodingTest: CodingTest_study_with_c++
CodingTest_study_with_c++. Contribute to gurcks8989/CodingTest development by creating an account on GitHub.
github.com
훈수 및 조언은 언제나 환영입니다.
문제 출처: https://programmers.co.kr/learn/courses/30/lessons/42885
코딩테스트 연습 - 구명보트
무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다. 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있습니다. 예를 들어, 사람들의 몸무게가 [70kg, 50kg, 80kg, 5
programmers.co.kr

해당 문제는 그리디(Greedy) 알고리즘으로 항상 최적의 선택(optimal solution)을 해야하는 문제입니다. 해당 문제를 풀기 위해서 저는 sort를 이용하였습니다. 무인도에 갇힌 사람들의 몸무게로 정렬을 한후 left와 right를 보는 커서를 두개 두어 같이 탈 수 있거나, 몸무게가 무거운 사람만 탈 수 있는 경우로 나뉩니다.
코드는 다음과 같습니다:)
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
int solution(vector<int> people, int limit) {
int answer = 0, left, right ;
sort(people.begin(), people.end()) ;
for(left = 0, right = people.size()-1 ; left < right ; right--){
if(people[left] + people[right] <= limit)
left++ ;
answer += 1 ;
}
if(left == right)
answer += 1 ;
return answer;
}
문제없이 해결할 수 있었습니다.

해당 문제는 Github에서도 보실 수 있습니다.
https://github.com/gurcks8989/CodingTest/blob/master/Programmers/P42885_Lifeboat.cpp
GitHub - gurcks8989/CodingTest: CodingTest_study_with_c++
CodingTest_study_with_c++. Contribute to gurcks8989/CodingTest development by creating an account on GitHub.
github.com
훈수 및 조언은 언제나 환영입니다.