皆様からのご指摘ありがとうございます。
ルールを明確に伝えられてなくて、本当にすいません・・・・。
ルールがわからなければ、回答できない。・・・おっしゃるとおりだと思います。
『ルール』
・縦の合計が、必ず34
・数字が重複することはありません。
1~16の数字が必ず1個入ります。
・入力データの数字はランダムで形成されます。
・入力データには、0が必ず2個形成されます ※0が形成される場所もランダムです
横もしくは縦に続けて0が配置される可能性もございます。
・縦に0が2個入る場合は、出力する数字はどちらでもかまいません。
下記の場合、1 2 3 4 でも、1 2 11 4でも正となります。
『ケース3.入力データ』
8 7 6 5
1 2 0 4
16 15 14 13
9 10 0 12
『3.出力結果 パターン1』
8 7 6 5
1 2 3 4
16 15 14 13
9 10 11 12
『3.出力結果 パターン2』
8 7 6 5
1 2 11 4
16 15 14 13
9 10 3 12
入力の内容に関わらず常に同じ出力を出せば良いようにも解釈できますが、そういう訳ではありませんか?
アルゴリズムの質問ならアルゴリズムのタグだけでいいと思います。 https://teratail.com/tags/%E3%82%A2%E3%83%AB%E3%82%B4%E3%83%AA%E3%82%BA%E3%83%A0
出力に0が残ってもいいのでしょうか?
縦の列に出現する0の回数は1以下ですか?
ご連絡ありがとうございます。出力する際には、0を適切な値に修正し出さなければいけないため、0は残ってはいけません。私の考えていることは、入力データをリストとして取り出し、リストの値(0の部分)を修正して、出力したいと考えております。プログラミングの勉強を始めたばかりで、拙いご質問となってしまい、申しわけございません。
ケース3の場合に複数の解がありますが、出力はいずれか一つでかまわないのでしょうか?
ご回答ありがとうございます。縦の列に0の回数が2というケースもありますが、回答頂きました、「zipでlistを転置する方法」参考にさせて頂きます!
たとえばケース3では3,11で埋めることを意図しているのでしょうが、これが7,7とかでも構いませんか?
fuzzballさま、ご認識のとおりです。「1 2 11 4」もしくは、「1 2 3 4」のどちらであってもかまいません。
たいしたことではありませんが、ケース3はもうひとつくらいルールがないと答えが無数に存在してしまいます。例示は3,11ですが11,3でもよく、7,7や10,4でもルールに沿っています
hayatakaさま、条件を明確に伝えておらず申し訳ございません。ご認識のとおり、3、11である必要がございます。
「7,7でも別に良い」って認識だったんだけどな・・・3,11である必要があるなら、R.Shigemoriさんの仰る通り他にルールが必要なので、明文化してください。どんなルールなのか見当がつかない(というかいろいろ考えられる)ので、方針が示せません
ようするに、1〜16の数字が一つずつあるってことかな‥。
皆様ご指摘ありがとうございます。 質問本文を一新させました。
回答3件
あなたの回答
tips
プレビュー