[プログラマーLV 2]救命ボート
3165 ワード
方法
最小の体重と最大の体重を一緒にボートに置いてこそ、最小のボートを使うことができます.
に答える
まず、
people
体重を含む配列を昇順に並べた.体重が一番少ない人は、体重が一番大きい人との体重の和が
limit
より大きいかどうかを確認します.limit
より大きい場合、最大体重の人を除去し、必要な船を1隻増やします.limit
未満の場合は、最大体重の人と最小体重の人を除去します.そして船の数を1増やします.誰かがそれを焼く必要があるまで、この過程を繰り返します.
def solution(people, limit):
from collections import deque
peoples = deque(sorted(people))
boat = 0
while len(peoples) > 0:
if peoples[0] + peoples[len(peoples) - 1] <= limit and len(peoples) > 1:
peoples.popleft()
peoples.pop()
boat += 1
else:
boat +=1
peoples.pop()
return boat
Reference
この問題について([プログラマーLV 2]救命ボート), 我々は、より多くの情報をここで見つけました https://velog.io/@jwisgenius/프로그래머스-LV2-구명보트テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol