문제
원문 보기 (영어)각 사람은 정확히 한 번씩 탑승해야 합니다. 한 그룹의 총 무게가 capacity 이하라면 함께 탑승할 수 있습니다. 사람들은 자유롭게 재조합할 수 있으며, 입력 순서는 중요하지 않습니다. 탑승 횟수를 최소화하세요.
elevator_rides(weights, capacity)를 구현하세요.
입력
weights: 각 사람의 몸무게입니다.
capacity: 한 번 탑승 시 허용되는 최대 총 무게입니다.
출력
필요한 최소 탑승 횟수를 반환하세요.
제약 조건
1 ≤ people ≤ 20. 1 ≤ capacity ≤ 1,000,000,000. 모든 몸무게는 1 이상 capacity 이하입니다.
예시
예시 1
입력:
weights = [3, 4, 5]
capacity = 7
예상 출력:
expected = 2
입력:
std::vector<long long> weights = {3, 4, 5};
long long capacity = 7;
예상 출력:
long long expected = 2;
입력:
long[] weights = new long[] {3, 4, 5};
long capacity = 7;
예상 출력:
long expected = 2;
설명
3과 4를 함께 보내고 5는 따로 보냅니다. 총 무게 12는 용량 7인 한 번의 탑승에 모두 태울 수 없습니다.
예시 2
입력:
weights = [2, 2, 2]
capacity = 6
예상 출력:
expected = 1
입력:
std::vector<long long> weights = {2, 2, 2};
long long capacity = 6;
예상 출력:
long long expected = 1;
입력:
long[] weights = new long[] {2, 2, 2};
long capacity = 6;
예상 출력:
long expected = 1;
설명
세 사람 모두 함께 탈 수 있습니다. 2 + 2 + 2 = 6이므로 가능합니다.
참고 자료
이 문제는 CodeUtility에 맞게 수정되었습니다. 위의 설명과 제한 조건을 따르세요.