
a = [1, 2, 3, 4, 5, 6, 7, 8, 9]
b = [a, b, c, d]
上記みたいな配列があったとして1a, 1bみたいな組み合わせのすべてのパターンを取り出すアルゴリズムを考えています。
1配列内の数は不定、配列自体の数も不定という条件です。
たとえばここにc = [z, y, x]という配列が加わると
1az, 1ay, 1ax みたいな感じで抽出します。
ですが、あまりいい方法が浮かびません。再帰を使えばいいというのはわかるのですが数が不定というのが複雑でイメージがわきません。
いいパターン抽出のやりかたがあれば教えてください。
お願いします。
A 回答 (1件)
- 最新から表示
- 回答順に表示
No.1
- 回答日時:
こんな感じでどうでしょうか。
def foo(array, idx = 0, pre_str = "")
unless first = array[idx]
puts pre_str
return
end
first.each do |i|
str = pre_str + i
foo(array, idx+1, str)
end
end
a = ["1","2","3","4"]
b = ["a","b","c"]
c = ["x","y","z"]
ary = []
ary.push(a)
ary.push(b)
ary.push(c)
foo(ary)
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
CSSのhtmlへの紐付けについ...
-
100万件越えCSVから条件を満た...
-
一週間用のカレンダー
-
Ruby require ライブラリー
-
ruby OpenURI::Meta
-
ruby while式
-
ruby loopメソッド 変数(再喝)
-
ruby 配列
-
ruby loopメソッド 変数
-
ruby クラス・オブジェクト・イ...
-
ルビー言語 ライブラリー 追記
-
ruby raise句
-
ruby begin句
-
ruby ensure句
-
ルビー言語 ライブラリー(再々...
-
ルビー言語 csvファイル 続き(...
-
ルビー言語 csvファイル 続き
-
ルビー言語 ライブラリー
-
ルビー言語 csvファイル part2
-
ルビー言語 ライブラリー
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
vbsでテキストファイル内の文字...
-
VBAのWorksheetFunctionの引数...
-
excelの、ある数式内の{}の意...
-
COLUMN(1:1)の意味を教え...
-
配列の値を置換するにはどうす...
-
エクセル、この関数の意味は?
-
初心者プログラミング
-
RichTextBoxの改行を認知してく...
-
エクセルへのデータの貼付時に...
-
配列に入った文字列を結合した...
-
数値を浮動小数点32bitHEXコー...
-
○桁にある数値を取得する VB.N...
-
列数の多いエクセルのデータを...
-
VB 配列の内容をファイルに書...
-
basp21のアップロード
-
C#の問題です。 文字列型の配列...
-
PythonでLoopを使って配列内の...
-
何故ただのvariant型と定義され...
-
シートからシートへのコピー
-
in_addrからchar型の文字列の変換
おすすめ情報