配列の要素の組み合わせを取得したい時

相変わらず競技プログラミングをやっています。

さて、競プロの問題で、配列の全ての要素の組み合わせを取得したい状況がありました。

結論はpermutationです。(実務では見かけたことがない…)

コード

irb(main):004> array = [1, 2, 3]
=> [1, 2, 3]
irb(main):005> array.permutation
=> #
irb(main):006> array.permutation.to_a
=> [[1, 2, 3], [1, 3, 2], [2, 1, 3], [2, 3, 1], [3, 1, 2], [3, 2, 1]]

配列に対して、permutationすると、全ての組み合わせを作り出してくれます。

全ての組み合わせを取得した後は、好きに加工して使う形になります。

では!

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

CAPTCHA