🌏 문제
프로그래머스
코드 중심의 개발자 채용. 스택 기반의 포지션 매칭. 프로그래머스의 개발자 맞춤형 프로필을 등록하고, 나와 기술 궁합이 잘 맞는 기업들을 매칭 받으세요.
programmers.co.kr
👽 풀이
💫 첫번째 풀이
보트를 오름차순으로 정렬한 후에 보트에 탄 사람의 무게가 무게제한을 넘지 않은 경우 계속 그 보트에 태우고 무게가 초과되면 새로운 보트에 태우는 방식으로 풀었다
근데 틀렸다 ㅎ ➡️ 문제를 제대로 안읽어서..😢 구명보트는 최대 2명씩 밖에 태울 수 없다!
def solution(people, limit):
answer = []
people.sort()
weight = 0
for p in people:
if len(answer) == 0:
answer.append([p])
elif sum(answer[-1]) + p <= limit:
answer[-1].append(p)
else:
answer.append([p])
return len(answer)
💫 두번째 풀이
2명씩 밖에 탈 수 없다면 (작은 무게 + 큰 무게) 이렇게 짝을 지어줘야지 적은 보트를 이용할 수 있게된다.
def solution(people, limit):
answer = 0
people.sort()
left, right = 0, len(people)-1
while left <= right:
if people[left] + people[right] <= limit:
left += 1
right -= 1
answer += 1
return answer
문제를 잘 읽자
728x90
'💡코딩테스트 > 프로그래머스' 카테고리의 다른 글
[프로그래머스 | 파이썬 python] 단속카메라 (0) | 2023.04.21 |
---|---|
[프로그래머스 | 파이썬 python] [크루스칼 알고리즘] 섬 연결하기 (0) | 2023.04.21 |
[프로그래머스 | 파이썬 python] 큰 수 만들기 (0) | 2023.04.21 |
[프로그래머스 | 파이썬 python] 체육복 (0) | 2023.04.21 |
[프로그래머스 | 파이썬 python] 모음사전 (0) | 2023.04.21 |