回答編集履歴
1
markdown 記法で装飾
test
CHANGED
@@ -1,20 +1,20 @@
|
|
1
1
|
この問題は**3つの要素を持つ配列から無作為に2つの要素を得るのと同じ**だと思います。
|
2
2
|
|
3
|
-
組み合わせは3通りなので同じ組み合わせを許さない要件であれば組み合わせを求めるだけで完了しますが、要件上は同じ組み合わせを複数回出力する事も可能なようです(["ジュース", "アメ"] を3回出力しても良い)。
|
3
|
+
組み合わせは3通りなので同じ組み合わせを許さない要件であれば組み合わせを求めるだけで完了しますが、要件上は同じ組み合わせを複数回出力する事も可能なようです(`["ジュース", "アメ"]` を3回出力しても良い)。
|
4
4
|
|
5
5
|
方法としては3つ考えられますが、いずれも用意する配列は一つで済みます。
|
6
6
|
|
7
7
|
|
8
8
|
|
9
|
-
|
9
|
+
(方法1) 配列をシャッフルし、`index` が `0`, `1` の要素を取り出す処理を3回繰り返す
|
10
10
|
|
11
|
-
|
11
|
+
(方法2) 元の配列から2つの要素を取り出す組み合わせとなる配列を生成し、組み合わせ配列から無作為に一つ選ぶ処理を3回繰り返す
|
12
12
|
|
13
|
-
|
13
|
+
(方法3) 前方法で求めた組み合わせ配列1から3回無作為に選ぶ組み合わせ配列2を用意し、組み合わせ配列をシャッフルして `index` が `0` の要素を出力する
|
14
14
|
|
15
15
|
|
16
16
|
|
17
|
-
ここでは
|
17
|
+
ここでは (方法2) を使ってコードを書きます。
|
18
18
|
|
19
19
|
|
20
20
|
|