문제

내가 작성한 코드 (틀림)
# 구명보트는 작아서 한 번에 최대 2명밖에 탈 수 없음
# 무게 제한도 존재
# 구명 보트를 최대한 적게 사용하여 모든 사람을 구출하려고 한다.
# 사람들의 몸무게를 담을 배열 people / 구명보트의 무게 제한 limit 매개변수
from collections import deque
def solution(people, limit):
people.sort()
people = deque(people)
cnt = 0
weight = 0
if len(people) == 1:
return 1
else:
while list(people):
max_v = people.pop()
if limit - max_v < people[0]:
cnt += 1
else:
if len(people) >= 2:
weight += max_v
min_v = people.popleft()
weight += min_v
else:
cnt += 1
break
return cnt
> 아... 이번건 맞출 수 있을거 같았는데.... 어디가 문제지...ㅜㅜ
참고 코드
from collections import deque
def solution(people, limit):
boat = 0
people.sort()
# 보트는 2명씩만 탈 수 있고 무게 제한도 있음.
q = deque(people)
w = 0
cnt = 0
while q:
if len(q) >= 2:
if q[0] + q[-1] <= limit:
q.pop()
q.popleft()
boat += 1
elif q[0] + q[-1] > limit:
q.pop()
boat += 1
else:
if q[0] <= limit:
q.pop()
boat += 1
return boat
> 아.... 유사했는데... 쓰읍.... 다음에는 좀 더 잘해보자!!!
'Coding > 프로그래머스' 카테고리의 다른 글
| [해시] 완주하지 못한 선수 with Python (0) | 2022.07.22 |
|---|---|
| [해시] 포켓몬 with Python (0) | 2022.07.22 |
| [2020 KAKAO BLIND RECRUITMENT] 문자열 압축 (★) (0) | 2022.07.21 |
| [해시] 위장 (★) (0) | 2022.07.21 |
| [스택/큐] 다리를 지나는 트럭 with Python (★) (0) | 2022.07.19 |







