Ruby 配列の指定した数の組み合わせを取得する
Rubyで、配列の指定した数の組み合わせを取得するソースコードを記述してます。
環境
- OS windows11 home
- ruby 3.1.2p20
配列の指定した数の組み合わせを取得する
配列の指定した数の組み合わせを取得するには、「combination().entries」を使用します。
配列.combination(組み合わせる数).entries
実際に使用してみます。
arr = [1, 2, 3, 4, 5]
p arr.combination(2).entries
# [[1, 2], [1, 3], [1, 4], [1, 5], [2, 3], [2, 4], [2, 5], [3, 4], [3, 5], [4, 5]]
p arr.combination(3).entries
# [[1, 2, 3], [1, 2, 4], [1, 2, 5], [1, 3, 4], [1, 3, 5], [1, 4, 5], [2, 3, 4], [2, 3, 5], [2, 4, 5], [3, 4, 5]]
p arr
# [1, 2, 3, 4, 5]
組み合わせが全通り取得されていることが確認できます。
「combination」の引数に「0」や「1」、最大値を指定すると以下の結果となります。
arr = [1, 2, 3, 4, 5]
p arr.combination(0).entries
# [[]]
p arr.combination(1).entries
# [[1], [2], [3], [4], [5]]
p arr.combination(5).entries
# [[1, 2, 3, 4, 5]]
p arr.combination(6).entries
# [[]]
p arr
# [1, 2, 3, 4, 5]
順列を作成する場合は「permutation」を使用します。
arr = [1, 2, 3, 4, 5]
p arr.permutation(2).entries
# [[1, 2], [1, 3], [1, 4], [1, 5], [2, 1], [2, 3], [2, 4], [2, 5], [3, 1], [3, 2], [3, 4], [3, 5], [4, 1], [4, 2], [4, 3], [4, 5], [5, 1], [5, 2], [5, 3], [5, 4]]
p arr
# [1, 2, 3, 4, 5]
空の配列
空の場合は、そのまま空の配列が返ります。
arr = []
p arr.combination(0).entries
# []
p arr.combination(2).entries
# []
p arr.combination(5).entries
# []
p arr.combination(6).entries
# []
p arr
# []
-
前の記事
C# ファイルのサイズを取得する 2022.08.20
-
次の記事
javascript エラー「Uncaught TypeError: Failed to execute ‘removeChild’ on ‘Node’: parameter 1 is not of type ‘Node’.」の解決方法 2022.08.21
コメントを書く