回答編集履歴

2

修正

2017/07/07 14:23

投稿

退会済みユーザー
test CHANGED
@@ -61,3 +61,65 @@
61
61
 
62
62
 
63
63
  10人表示するために11人を選択しています。
64
+
65
+
66
+
67
+ 元の配列を減らしながら表示させるバージョン。
68
+
69
+ ```Ruby
70
+
71
+ # encoding: utf-8
72
+
73
+
74
+
75
+ class Kako
76
+
77
+ def show(arr)
78
+
79
+ while arr.size > 0
80
+
81
+ arr.shuffle!
82
+
83
+ name_list = arr.shift(11)
84
+
85
+ work(name_list)
86
+
87
+ end
88
+
89
+ end
90
+
91
+
92
+
93
+ private
94
+
95
+
96
+
97
+ def work(array)
98
+
99
+ array.each_with_index do |name, i|
100
+
101
+ list = []
102
+
103
+ array.each_with_index do |a, b|
104
+
105
+ list << a unless b == i
106
+
107
+ end
108
+
109
+ puts "#{name}さんのリストです。#{list.map { |e| e.to_s + 'さん' }.join(', ')}"
110
+
111
+ end
112
+
113
+ end
114
+
115
+ end
116
+
117
+
118
+
119
+ k = Kako.new
120
+
121
+ k.show((0..1234).to_a)
122
+
123
+
124
+
125
+ ```

1

修正

2017/07/07 14:23

投稿

退会済みユーザー
test CHANGED
@@ -18,7 +18,7 @@
18
18
 
19
19
  name_list.each_with_index do |e, n|
20
20
 
21
- list << e unless n == i
21
+ list << e unless n == i
22
22
 
23
23
  end
24
24