回答編集履歴

1

別解を追記

2022/02/18 20:36

投稿

hoshi-takanori
hoshi-takanori

スコア7895

test CHANGED
@@ -18,3 +18,20 @@
18
18
  ```
19
19
 
20
20
  なお、Swift では srand は不要ですが、C でもループで毎回 srand するのは無意味です。
21
+
22
+ ---
23
+
24
+ 追記: 別解として、こんなのもありかな?
25
+
26
+ ```swift
27
+ var count = Array(repeating: 0, count: 6)
28
+
29
+ for i in 0..<50 {
30
+ // 0 〜 5 のうち、まだ 10 回出てないものの配列を作り、その中からランダムに選ぶ
31
+ let n = (0..<6).filter { count[$0] < 10 }.randomElement()!
32
+
33
+ count[n] += 1
34
+
35
+ // n を使った処理
36
+ }
37
+ ```