728x90
https://school.programmers.co.kr/learn/courses/30/lessons/42885
Greedy 문제이다 !!
핵심은 가장 가벼운 사람 + 가장 무거운 사람 <= limit 되는지 확인하고 되면 카운트 해주고, limit 보다 크면 가장 무거운 사람을 배에 혼자 태워 보내는 것이다
def solution(people, limit):
answer = 0
boat = limit
n = len(people)
people.sort()
# 가장 가벼운 사람 + 가장 무거운 사람
left = 0
right = n-1
while left <= right:
if people[left] + people[right] <= limit:
answer += 1
right -= 1
left += 1
else:
right -= 1
answer += 1
return answer
Greedy는 아직도 어렵다.. 문제를 많이 풀어봐야겠당
728x90
'Algorithm (PS)' 카테고리의 다른 글
[프로그래머스] 카펫 (Python) - 완전탐색/Brute Force (0) | 2023.04.06 |
---|---|
[백준] 10655번: 마라톤 1 (0) | 2023.03.27 |
[백준] 2573번 빙산 (Python) (0) | 2023.03.23 |
[프로그래머스] 큰 수 만들기 - Python (Greedy) (0) | 2023.03.22 |
[백준] 17394 핑거 스냅 (Python) (0) | 2023.03.22 |