문제 설명
여러 명의 사람이 보트를 타고 강을 건너려 합니다. 각 보트는 최대 두 명의 사람만 탈 수 있고, 두 사람의 몸무게 합이 보트의 최대 허용 무게를 초과해서는 안됩니다.
각 사람의 몸무게가 담긴 배열 people과 보트의 허용 무게를 의미하는 정수 limit가 주어질 때, 모든 사람을 강 건너편으로 옮기는 데 필요한 최소 보트 개수를 반환하는 solution 함수를 작성하시오.
제한 사항
limit는 1 이상 10,000 이하의 자연수입니다.people의 길이는 1 이상 10,000 이하입니다.people의 각 원소는 1 이상limit이하의 자연수입니다.
예시 테스트케이스 설명
| 테스트케이스 번호 | limit | people | return |
|---|---|---|---|
| 1 | 100 | [5,10,20,50,70,90,90,100] | 5 |
| 2 | 150 | [80,80,80,80,70,40] | 4 |
| 3 | 100 | [100,100,100,100] | 4 |
1번 테스트케이스 설명
- 허용 무게가 100일 때
(100), (90,10), (90,5), (70,20), (50)와 같이 5대의 보트에 태우면 최소한으로 보트를 이용해 모든 사람이 건널 수 있습니다.
2번 테스트케이스 설명
- 허용 무게가 150일 때,
(80), (80), (80,70), (80,40)와 같이 4대의 보트에 태우면 최소한의 보트를 이용해 모든 사람이 건널 수 있습니다.
3번 테스트케이스 설명
- 네 명이 모두 limit(=100)와 동일한 몸무게를 가지고 있으므로, 4대의 보트에 모두 한 명씩 태워 모든 사람이 건널 수 있습니다.