[Programmers][python] 16. 練習問題練習(5):プログラマー予算起動
2684 ワード
誤りに対する批判、質問、討論を歓迎します.自由にコメントを残しておきましょう!!
S社は各部門が物品を購入するのに必要な金額を調査し、各部門が必要とする物品をサポートした.ただし、予算が完全であるため、すべての部門の製品を購入することはできません.だから私はあなたにできるだけ多くの部門の品物を購入させたいです.
物品を購入する場合、各部門が申請した金額に基づいてすべてのサポートを提供しなければならない.例えば、1000元を申請する部門は、1000元未満のサポートを正確に提供し、1000元未満のサポートを提供しなければならない.
各部門に申請金額を含む配列dと予算予算がパラメータとしてある場合は、最大何部門までサポートできるかを返すソルバを完了します.
dは部門別申請金額の配列であり、長さ(部門全体の数)は1または100以上である. dの各要素は各部門の申請金額を表し、各部門の申請金額は1以上100000以下の自然数である. 予算は予算を代表し、自然数は1万を超えない. を購入できる部門数の最低価格を返してください.
dbudgetresult[1,3,2,5,4]93[2,2,3,3]104
I/O例1
各部門は[1元,3元,2元,5元,4元]の金額を報告した.1元、2元、4元の部門の物品を申請する場合、予算は9元から7元で、残りは2元です.正しい申請金額に常に従ってサポートする必要があります.残りの2元は他の部門にサポートされません.上記の方法に加えて、次のこともできます.
-1元、2元、3元の部門の物品を申請するには6元が必要です.
-1元、2元、5元の部門の物品を申請するには8元が必要です.
-1元、3元、4元の部門の物品を申請するには8元が必要です.
-1元、3元、5元の部門の物品を申請するには9元が必要です.
3つ以上の部門の品物を購入することはできません.そのため、最大3つの部門の品物を購入することができます. I/O例#2
すべての部門の品物を買ってくれれば、10元です.そのため、最大4つの部門の品物を購入することができます.
入力の大きさは大きくないので、簡単にアクセスするだけです.
サポートされる部門を最大化するには、予算の低い部門からサポートを開始する必要があるため、ソートを使用します.
各部門の申請履歴
この記事は、プログラマーアカデミー人工知能Defcosコースで学んだ内容をもとにまとめたものです.
プログラマ-予算調達
問題の説明
S社は各部門が物品を購入するのに必要な金額を調査し、各部門が必要とする物品をサポートした.ただし、予算が完全であるため、すべての部門の製品を購入することはできません.だから私はあなたにできるだけ多くの部門の品物を購入させたいです.
物品を購入する場合、各部門が申請した金額に基づいてすべてのサポートを提供しなければならない.例えば、1000元を申請する部門は、1000元未満のサポートを正確に提供し、1000元未満のサポートを提供しなければならない.
各部門に申請金額を含む配列dと予算予算がパラメータとしてある場合は、最大何部門までサポートできるかを返すソルバを完了します.
せいげんじょうけん
I/O例
dbudgetresult[1,3,2,5,4]93[2,2,3,3]104
I/O例説明
各部門は[1元,3元,2元,5元,4元]の金額を報告した.1元、2元、4元の部門の物品を申請する場合、予算は9元から7元で、残りは2元です.正しい申請金額に常に従ってサポートする必要があります.残りの2元は他の部門にサポートされません.上記の方法に加えて、次のこともできます.
-1元、2元、3元の部門の物品を申請するには6元が必要です.
-1元、2元、5元の部門の物品を申請するには8元が必要です.
-1元、3元、4元の部門の物品を申請するには8元が必要です.
-1元、3元、5元の部門の物品を申請するには9元が必要です.
3つ以上の部門の品物を購入することはできません.そのため、最大3つの部門の品物を購入することができます.
すべての部門の品物を買ってくれれば、10元です.そのため、最大4つの部門の品物を購入することができます.
の意見を打診
入力の大きさは大きくないので、簡単にアクセスするだけです.
サポートされる部門を最大化するには、予算の低い部門からサポートを開始する必要があるため、ソートを使用します.
各部門の申請履歴
d
をソートし、最大予算を超えずにサポートします.Code (Python)
def solution(d, budget):
answer, sum = 0, 0
d.sort()
for i in d:
if sum + i <= budget:
answer += 1
sum += i
return answer
この記事は、プログラマーアカデミー人工知能Defcosコースで学んだ内容をもとにまとめたものです.
Reference
この問題について([Programmers][python] 16. 練習問題練習(5):プログラマー予算起動), 我々は、より多くの情報をここで見つけました https://velog.io/@illstandtall/Programmerspython-16.-문제풀이-실습-5-프로그래머스-예산소팅テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol