CK 026|最小矩形(python)
5267 ワード
質問する
🔗 第8週Weeklyチャレンジ|最小矩形
名刺入れを作っている会社は財布の大きさを確認したいです.様々な形や大きさの名刺を収納でき、コンパクトで持ち運びに便利な財布を作る必要があります.これらの要件を満たすために、設計チームはすべての名刺の横方向と縦方向の長さを調査した.
次の表に、4種類の名刺の水平と垂直の長さを示します.
名刺番号横長160502307030603048040
最も長い横長と縦長はそれぞれ80と70であるため、80(横)x 70(縦)サイズの財布を作成すると、すべての名刺を収容することができる.ただし、横に2番の名刺を収納する場合は、80(横)x 50(縦)サイズの財布ですべての名刺を収納できます.財布のサイズは4000(=80 x 50)です.
パラメータは、すべての名刺の水平と垂直の長さを表す2 D配列サイズです.すべての名刺を収納できる最小財布を作成する場合は、財布の大きさを返すための解関数を完了します.
せいげんじょうけん
私が書いたコード def solution(sizes):
sizes = [[w,h] if w>=h else [h,w] for w,h in sizes]
return max([sizes[i][0] for i in range(len(sizes))]) * max([sizes[i][1] for i in range(len(sizes))])
まず各名刺の横、縦の長さを比較し、大きいものは0番のインデックスに、小さいものは1番のインデックスに、各最値を求め、乗算して面積を求める.
他人の解答 solution = lambda sizes: max(sum(sizes, [])) * max(min(size) for size in sizes)
def solution(sizes):
return max(max(x) for x in sizes) * max(min(x) for x in sizes)
論理は同じですが、より簡潔なコードは...🥲 もっと勉強しなきゃ
Reference
この問題について(CK 026|最小矩形(python)), 我々は、より多くの情報をここで見つけました
https://velog.io/@thisisemptyyy/CK-026-최소직사각형python
テキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol
def solution(sizes):
sizes = [[w,h] if w>=h else [h,w] for w,h in sizes]
return max([sizes[i][0] for i in range(len(sizes))]) * max([sizes[i][1] for i in range(len(sizes))])
solution = lambda sizes: max(sum(sizes, [])) * max(min(size) for size in sizes)
def solution(sizes):
return max(max(x) for x in sizes) * max(min(x) for x in sizes)
論理は同じですが、より簡潔なコードは...🥲 もっと勉強しなきゃReference
この問題について(CK 026|最小矩形(python)), 我々は、より多くの情報をここで見つけました https://velog.io/@thisisemptyyy/CK-026-최소직사각형pythonテキストは自由に共有またはコピーできます。ただし、このドキュメントのURLは参考URLとして残しておいてください。
Collection and Share based on the CC Protocol