처음에 문제를 잘못 읽어서 구명보트에 2명씩 타는 게 아니라
무게 제한만 지키면 몇명이든 탈 수 있는 것으로 생각해서 완전히 망했었다....
문제를 다시 읽고 보트 제한이 2명이라는것을 알고 나서는 오히려 더 쉽게 풀 수 있었다.
최종 코드
import java.util.Arrays;
class Solution {
public int solution(int[] people, int limit) {
int answer = 0;
// 무거운 사람과 가벼운 사람을 분류하기 위한 정렬
Arrays.sort(people);
int idx = 0;
// 최소로 구명보드를 사용하려면 가장 무거운 사람과 가장 가벼운 사람
for (int i = people.length - 1; i >= idx; i--) {
// 무거운 사람 + 가벼운 사람이 리미트 보다 크면
if(people[i] + people[idx] > limit) {
answer++;
}
// 같거나 작은 경우
else {
idx++;
answer++;
}
}
return answer;
}
}
'코딩 테스트' 카테고리의 다른 글
(Java) 프로그래머스 위장 (0) | 2022.01.18 |
---|---|
(Java) 프로그래머스 카펫 (0) | 2022.01.16 |
(Java) 프로그래머스 주식가격 (0) | 2022.01.16 |
(Java) 프로그래머스 프린터 (0) | 2022.01.16 |
(Java) 프로그래머스 전화번호 목록 (0) | 2022.01.16 |