LeetCode 문제 풀이
[LeetCode] 881번 문제를 풀어보았다. (ft. java)
pantrom
2022. 3. 24. 19:57
2022년 03월 24일 목요일 - 게임을 만들거시야!
오늘 올려볼 문제는 881번 Boats to Save People 이라는 문제이다.
사진을 클릭하면 해당 문제로 이동합니다.
오늘도 LeetCode 사이트 오늘의 문제를 가지고 왔다.
오늘은 3분 컷
입력
사진에서도 볼 수 있듯이 int 배열 하나와 int 값 하나가 입력으로 들어온다.
풀이 및 코드
최대 2명에 limit 무게까지 태울 수 있는 배가 무한히 있다.
이 때 주어진 사람 몸무게를 통해서 모든 사람들을 태우는데 필요한 가장 적은 배의 수를 구하여 리턴하는 문제다.
오늘은 처음부터 정답을 생각해냈다.
정렬을 하고 그리디로 문제를 풀었다.
2명까지 태울 수 있다고 했으므로 투포인터도 사용하여 문제를 풀었다.
이제 코드를 봐보자!
풀이코드
class Solution {
public int numRescueBoats(int[] people, int limit) {
Arrays.sort(people);
int result = 0;
int left = 0, right = people.length - 1;
while(right > left)
{
if(people[right--] + people[left] <= limit) left++;
result++;
}
if(left == right)
result++;
return result;
}
}
제출 화면
오늘은 내가 생각한 대로 문제가 딱 빨리 풀려서 기분이 좋았다.
내일 문제도 이러한 문제가 나왔으면 좋겠다.
내일도 문제를 풀어서 블로그에 글을 쓸 수 있으면 좋겠다.