728x90
Overview
- 체감 난이도: ★★☆☆☆
- 문제 레벨: Lv.2
- 문제 유형: 그리디, 투포인터
- 풀이 상태: 답안참고 / 스스로 해결
- 추후: 다시 풀어보기 / 간단 복습 / 완벽 이해
[문제]
https://school.programmers.co.kr/learn/courses/30/lessons/42885
프로그래머스
SW개발자를 위한 평가, 교육, 채용까지 Total Solution을 제공하는 개발자 성장을 위한 베이스캠프
programmers.co.kr
[코드]
def solution(people, limit):
people.sort() # 무게 순으로 오름차순 정렬
left = 0 # 가장 가벼운 사람 위치
right = len(people) - 1 # 가장 무거운 사람 위치
boats = 0 # 필요한 보트 수
while left <= right: # 모든 사람을 처리할 때까지
# Case 1: 두 명을 한 보트에 태울 수 있는 경우
if left < right and people[left] + people[right] <= limit:
left += 1 # 가벼운 사람 처리 완료
right -= 1 # 무거운 사람 처리 완료
boats += 1 # 보트 하나 사용
# Case 2: 한 명만 태워야 하는 경우
else:
right -= 1 # 무거운 사람만 처리
boats += 1 # 보트 하나 사용
return boats
반응형
'🚩 Coding Test > Programmers' 카테고리의 다른 글
[Programmers][Python] Lv.2 행렬의 곱셈 (0) | 2024.11.29 |
---|---|
[Programmers][Python] Lv.2 멀리 뛰기 (0) | 2024.11.29 |
[Programmers][Python] Lv.2 더 맵게 (1) | 2024.11.04 |
[Programmers][Python][PCCP 모의고사 1회] 외톨이 알파벳 (0) | 2024.11.01 |
[Programmers][Python] Lv.2 석유 시추 (0) | 2024.10.29 |