https://programmers.co.kr/learn/courses/30/lessons/42885
그리디 문제이다.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
|
#include <string>
#include <vector>
#include <algorithm>
using namespace std;
bool comp(int a, int b){
return a > b;
}
int solution(vector<int> people, int limit) {
int answer = 0;
int left = 0;
int right = people.size() - 1;
int sum = 0;
sort(people.begin(), people.end(), comp);
while(left < right){
sum = people[left] + people[right];
if(sum > limit){
left++;
}else{
left++;
right--;
}
answer++;
}
if(left == right) answer++;
return answer;
}
|
cs |
728x90
'개발 > 알고리즘' 카테고리의 다른 글
프로그래머스_겹치는 선분의 길이 (0) | 2024.04.22 |
---|---|
프로그래머스_평행 (0) | 2024.04.19 |
프로그래머스위클리챌린지_직업군 추천하기(4주차) (0) | 2021.08.26 |
[알고리즘]나머지성질을 이용한 문제 (0) | 2021.08.12 |
1780_종이의 갯수 (0) | 2020.12.20 |