알고리즘 문제풀이
[프로그래머스 42885] Level2 구명보트(Java)
윤라프
2022. 9. 27. 20:31
문제 URL
https://school.programmers.co.kr/learn/courses/30/lessons/42885
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
문제풀이 Key Point
- 최대 두명을 태우면서 제한 무게를 넘지 않아야 한다.
- 그렇기 위해 가장 큰 몸무게는 가장 작은 몸무게와 합산되어야 무게를 넘지 않을 가능성이 높아진다.
Java 문제풀이
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
|
import java.util.Arrays;
class Solution {
public int solution(int[] people, int limit) {
int answer = 0;
Arrays.sort(people);
int front = 0;
int back = people.length - 1;
while (front <= back) {
int weightSum = people[front] + people[back];
if (weightSum > limit) {
answer++;
back--;
continue;
}
answer++;
front++;
back--;
}
return answer;
}
}
|
cs |