학습
시험

필요한 구명보트

난이도
BEGINNER

문제 설명

여러 명의 사람이 보트를 타고 강을 건너려 합니다. 각 보트는 최대 두 명의 사람만 탈 수 있고, 두 사람의 몸무게 합이 보트의 최대 허용 무게를 초과해서는 안됩니다.

각 사람의 몸무게가 담긴 배열 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대의 보트에 모두 한 명씩 태워 모든 사람이 건널 수 있습니다.