반응형
🗓️ 문제 설명
- 무인도에 갇힌 사람들을 구명보트를 이용하여 구출하려고 합니다.
- 구명보트는 작아서 한 번에 최대 2명씩 밖에 탈 수 없고, 무게 제한도 있습니다.
- 구명보트를 최대한 적게 사용하여 모든 사람을 구출하려고 합니다.
- 사람들의 몸무게를 담은 배열 people과 구명보트의 무게 제한 limit가 매개변수로 주어질 때, 모든 사람을 구출하기 위해 필요한 구명보트 개수의 최솟값을 반환하세요.
- 제한 사항
- 무인도에 갇힌 사람은 1명 이상 50000명 이하
- 각 사람의 몸무게는 40kg 이상 240kg 이하
- 구명보트의 무게 제한은 40kg 이상 240kg 이하
- 구명보트의 무게 제한은 항상 사람들의 몸무게 중 최댓값보다 크게 주어지므로 사람들을 구할 수 없는 경우는 없음
- 입출력 예시
people | limit | return |
[70, 50, 80, 50] | 100 | 3 |
[70, 80, 50] | 100 | 3 |
💻 코드
최종 코드
코드 풀이
다른 사람 풀이
더보기

풀이 1번

- 2번줄 : people을 정렬
- 5~6번줄 : 첫 인덱스와 마지막 인덱스를 변수에 저장
- 7번줄 : 첫 인덱스가 마지막 인덱스보다 작으면 계속되는 반복문 실행
- 8~10번줄 : 리스트의 첫 값과 마지막 값의 합이 리미트보다 작거나 같다면 첫 인덱스와 answer에 1을 더함
- 11번줄 : 마지막 인덱스에서 1을 뺌
- 12번줄 : people의 길이에서 answer을 뺀 값을 반환
⚙️ 시행착오
1차 시도
더보기


- 테스트 결과 : 효율성테스트에서 2개에서 시간초과
반응형
'코딩문제풀이 > 파이썬' 카테고리의 다른 글
[프로그래머스] N개의 최소공배수 (파이썬) (0) | 2023.04.19 |
---|---|
[프로그래머스] 멀리 뛰기 (파이썬) (0) | 2023.04.18 |
[프로그래머스] 공원 산책 (파이썬) (0) | 2023.04.16 |
[프로그래머스] 영어 끝말잇기 (파이썬) (0) | 2023.04.15 |
[프로그래머스] 가장 가까운 같은 글자 (파이썬) (0) | 2023.04.14 |