2つのリストを平均化する
チャレンジ
正の整数の2つのリストが与えられた場合、新しいリストが同じ算術平均(平均)を持つように要素を2つの新しいリストに再配置できるかどうかを判断します。
入力
入力は、STDINを介して、または関数の引数として取得できます。入力はリストとして取得できます。または、言語がリスト(または配列/辞書などの類似物)をサポートしていない場合、入力はコンマまたはスペース区切りの文字列として取得できます。あれは、
"1 4 8 2 5,3 1 5 2 5"
次と同じです:
[ [1,4,8,2,5], [3,1,5,2,5] ]
すべての入力リストは同じ長さになります。
出力
同じ平均で2つの新しいリストを作成できる場合、プログラム/関数は平均を出力するか返す必要があります。できない場合、プログラムは悲しい顔を出力するはず:(です。
等しい手段を使用して再配置されたリストは、存在する場合、同じ長さである必要はありません。新しいリストを作成するために、任意の数のスワップを作成できます。
例
1 4 8 2 5,3 1 5 2 5 -> 1 4 8 2 3,5 1 5 2 5 (swapped 3 and 5) -> 3.6
1 3 6 2,16 19 19 14 -> [[1,6,19,14],[3,2,16,19]] -> 10
2 6 2,6 3 5 -> 2 6,2 6 3 5 (moved 2) -> 4
90 80 20 1,40 60 28 18 -> :(
2
各リストから任意の数の要素を交換できますか?1つのリストだけで他のリストに要素を与えることはできますか?「有効な順列が存在する」という意味がわかりません。また、これにはより多くのテストケースが必要です。
—
xnor
@xnorを使用すると、ある要素を別の要素に移動できます。さらにいくつかのテストケースを追加します
—
Downgoat
したがって、これは「単一のリスト(それらの結合)が与えられた場合、同じ平均を持つ2つの空でないリストに分割できますか?」と同等ですか?
—
xnor
@ vihan1086では、単一のリストを入力として受け取らないのはなぜですか?あなたのプレゼンテーションは不必要に複雑に思えます。
—
xnor
@ vihan1086 Sandboxの投稿を見ると、同じように多くの説明要求がそこに出されており、これらの点の多くを明確にしたと言いましたが、あなたの編集は実際にはそれを明確にしませんでした。さらにテキストを追加するよりも、混乱を招くテキストを置き換える方が良いでしょう。
—
xnor