回答編集履歴

8

修正

2017/04/22 08:29

投稿

退会済みユーザー
test CHANGED
@@ -122,7 +122,7 @@
122
122
 
123
123
  input.each do |element|
124
124
 
125
- puts element.shift.join(",").gsub(",", "\t")
125
+ puts element.shift.join("\t")
126
126
 
127
127
  element = element.flatten(1).transpose
128
128
 

7

修正

2017/04/22 08:29

投稿

退会済みユーザー
test CHANGED
@@ -76,135 +76,7 @@
76
76
 
77
77
  input = "2 2
78
78
 
79
- 1 2020/03/30
79
+ 1 2020/03/30
80
-
81
- 2 2020/03/30 2019/10/03
82
-
83
- 1 2020/03/30
84
-
85
- 1 2020/03/30"
86
-
87
-
88
-
89
- date = ["年", "月", "日"]
90
-
91
-
92
-
93
- input = input.split("\n").map{|e| e.split("\s")}
94
-
95
- input.shift
96
-
97
-
98
-
99
- input.map! do |element|
100
-
101
- element.shift
102
-
103
- element
104
-
105
- end
106
-
107
-
108
-
109
- input.flatten.each do |element|
110
-
111
- puts element
112
-
113
- puts ""
114
-
115
- element.split("/").zip(date){|e| puts e.join("\t")}
116
-
117
- puts "-" * 20
118
-
119
- puts ""
120
-
121
- end
122
-
123
- ```
124
-
125
- 実行結果例
126
-
127
- ```
128
-
129
- 2020/03/30
130
-
131
-
132
-
133
- 2020 年
134
-
135
- 03 月
136
-
137
- 30 日
138
-
139
- --------------------
140
-
141
-
142
-
143
- 2020/03/30
144
-
145
-
146
-
147
- 2020 年
148
-
149
- 03 月
150
-
151
- 30 日
152
-
153
- --------------------
154
-
155
-
156
-
157
- 2019/10/03
158
-
159
-
160
-
161
- 2019 年
162
-
163
- 10 月
164
-
165
- 03 日
166
-
167
- --------------------
168
-
169
-
170
-
171
- 2020/03/30
172
-
173
-
174
-
175
- 2020 年
176
-
177
- 03 月
178
-
179
- 30 日
180
-
181
- --------------------
182
-
183
-
184
-
185
- 2020/03/30
186
-
187
-
188
-
189
- 2020 年
190
-
191
- 03 月
192
-
193
- 30 日
194
-
195
- --------------------
196
-
197
- ```
198
-
199
- 横に並べる
200
-
201
- ```Ruby
202
-
203
- #encoding: utf-8
204
-
205
- input = "2 2
206
-
207
- 1 2020/03/30
208
80
 
209
81
  2 2020/03/30 2019/10/03
210
82
 
@@ -250,7 +122,7 @@
250
122
 
251
123
  input.each do |element|
252
124
 
253
- puts element.shift.join(",").sub(",", "\t")
125
+ puts element.shift.join(",").gsub(",", "\t")
254
126
 
255
127
  element = element.flatten(1).transpose
256
128
 

6

修正

2017/04/22 08:22

投稿

退会済みユーザー
test CHANGED
@@ -195,3 +195,131 @@
195
195
  --------------------
196
196
 
197
197
  ```
198
+
199
+ 横に並べる
200
+
201
+ ```Ruby
202
+
203
+ #encoding: utf-8
204
+
205
+ input = "2 2
206
+
207
+ 1 2020/03/30
208
+
209
+ 2 2020/03/30 2019/10/03
210
+
211
+ 1 2020/03/30
212
+
213
+ 1 2020/03/30"
214
+
215
+
216
+
217
+
218
+
219
+ input = input.split("\n").map{|e| e.split("\s")}
220
+
221
+ input.shift
222
+
223
+
224
+
225
+ input.map! do |element|
226
+
227
+ element.shift
228
+
229
+ element
230
+
231
+ end
232
+
233
+
234
+
235
+ input.map! do |element|
236
+
237
+ tmp = []
238
+
239
+ element.each do |ee|
240
+
241
+ tmp << ee.split("/")
242
+
243
+ end
244
+
245
+ [element, tmp]
246
+
247
+ end
248
+
249
+
250
+
251
+ input.each do |element|
252
+
253
+ puts element.shift.join(",").sub(",", "\t")
254
+
255
+ element = element.flatten(1).transpose
256
+
257
+ element[0].map!{|e| e + "年"}
258
+
259
+ element[1].map!{|e| e + "月"}
260
+
261
+ element[2].map!{|e| e + "日"}
262
+
263
+
264
+
265
+ puts element.map{|e| e.join("\t\t")}
266
+
267
+ puts "-" * 20
268
+
269
+ puts ""
270
+
271
+ end
272
+
273
+ ```
274
+
275
+ 実行結果例
276
+
277
+ ```
278
+
279
+ 2020/03/30
280
+
281
+ 2020年
282
+
283
+ 03月
284
+
285
+ 30日
286
+
287
+ --------------------
288
+
289
+
290
+
291
+ 2020/03/30 2019/10/03
292
+
293
+ 2020年 2019年
294
+
295
+ 03月 10月
296
+
297
+ 30日 03日
298
+
299
+ --------------------
300
+
301
+
302
+
303
+ 2020/03/30
304
+
305
+ 2020年
306
+
307
+ 03月
308
+
309
+ 30日
310
+
311
+ --------------------
312
+
313
+
314
+
315
+ 2020/03/30
316
+
317
+ 2020年
318
+
319
+ 03月
320
+
321
+ 30日
322
+
323
+ --------------------
324
+
325
+ ```

5

修正

2017/04/22 08:15

投稿

退会済みユーザー
test CHANGED
@@ -112,7 +112,7 @@
112
112
 
113
113
  puts ""
114
114
 
115
- element.split("/").zip(date){|e| puts e.join("\s")}
115
+ element.split("/").zip(date){|e| puts e.join("\t")}
116
116
 
117
117
  puts "-" * 20
118
118
 
@@ -130,11 +130,11 @@
130
130
 
131
131
 
132
132
 
133
- 2020 年
133
+ 2020
134
134
 
135
- 03 月
135
+ 03
136
136
 
137
- 30 日
137
+ 30
138
138
 
139
139
  --------------------
140
140
 
@@ -144,11 +144,11 @@
144
144
 
145
145
 
146
146
 
147
- 2020 年
147
+ 2020
148
148
 
149
- 03 月
149
+ 03
150
150
 
151
- 30 日
151
+ 30
152
152
 
153
153
  --------------------
154
154
 
@@ -158,11 +158,11 @@
158
158
 
159
159
 
160
160
 
161
- 2019 年
161
+ 2019
162
162
 
163
- 10 月
163
+ 10
164
164
 
165
- 03 日
165
+ 03
166
166
 
167
167
  --------------------
168
168
 
@@ -172,11 +172,11 @@
172
172
 
173
173
 
174
174
 
175
- 2020 年
175
+ 2020
176
176
 
177
- 03 月
177
+ 03
178
178
 
179
- 30 日
179
+ 30
180
180
 
181
181
  --------------------
182
182
 
@@ -186,11 +186,11 @@
186
186
 
187
187
 
188
188
 
189
- 2020 年
189
+ 2020
190
190
 
191
- 03 月
191
+ 03
192
192
 
193
- 30 日
193
+ 30
194
194
 
195
195
  --------------------
196
196
 

4

修正

2017/04/22 07:51

投稿

退会済みユーザー
test CHANGED
@@ -67,3 +67,131 @@
67
67
  30
68
68
 
69
69
  ```
70
+
71
+ カレンダー
72
+
73
+ ```Ruby
74
+
75
+ #encoding: utf-8
76
+
77
+ input = "2 2
78
+
79
+ 1 2020/03/30
80
+
81
+ 2 2020/03/30 2019/10/03
82
+
83
+ 1 2020/03/30
84
+
85
+ 1 2020/03/30"
86
+
87
+
88
+
89
+ date = ["年", "月", "日"]
90
+
91
+
92
+
93
+ input = input.split("\n").map{|e| e.split("\s")}
94
+
95
+ input.shift
96
+
97
+
98
+
99
+ input.map! do |element|
100
+
101
+ element.shift
102
+
103
+ element
104
+
105
+ end
106
+
107
+
108
+
109
+ input.flatten.each do |element|
110
+
111
+ puts element
112
+
113
+ puts ""
114
+
115
+ element.split("/").zip(date){|e| puts e.join("\s")}
116
+
117
+ puts "-" * 20
118
+
119
+ puts ""
120
+
121
+ end
122
+
123
+ ```
124
+
125
+ 実行結果例
126
+
127
+ ```
128
+
129
+ 2020/03/30
130
+
131
+
132
+
133
+ 2020 年
134
+
135
+ 03 月
136
+
137
+ 30 日
138
+
139
+ --------------------
140
+
141
+
142
+
143
+ 2020/03/30
144
+
145
+
146
+
147
+ 2020 年
148
+
149
+ 03 月
150
+
151
+ 30 日
152
+
153
+ --------------------
154
+
155
+
156
+
157
+ 2019/10/03
158
+
159
+
160
+
161
+ 2019 年
162
+
163
+ 10 月
164
+
165
+ 03 日
166
+
167
+ --------------------
168
+
169
+
170
+
171
+ 2020/03/30
172
+
173
+
174
+
175
+ 2020 年
176
+
177
+ 03 月
178
+
179
+ 30 日
180
+
181
+ --------------------
182
+
183
+
184
+
185
+ 2020/03/30
186
+
187
+
188
+
189
+ 2020 年
190
+
191
+ 03 月
192
+
193
+ 30 日
194
+
195
+ --------------------
196
+
197
+ ```

3

修正

2017/04/22 07:46

投稿

退会済みユーザー
test CHANGED
@@ -45,3 +45,25 @@
45
45
  ```
46
46
 
47
47
  これで動くと思います。
48
+
49
+ 実行結果例
50
+
51
+ ```Ruby
52
+
53
+ 2020/03/30
54
+
55
+ 2020
56
+
57
+ 03
58
+
59
+ 30
60
+
61
+ 2020/03/30
62
+
63
+ 2020
64
+
65
+ 03
66
+
67
+ 30
68
+
69
+ ```

2

修正

2017/04/22 07:29

投稿

退会済みユーザー
test CHANGED
@@ -1 +1,47 @@
1
1
  splitは文字列にしか使えなかったと思います。
2
+
3
+
4
+
5
+ ```Ruby
6
+
7
+ str1 = "2\s2"
8
+
9
+ str2 = "1 2020/03/30
10
+
11
+ 2 2020/03/30 2019/10/03
12
+
13
+ 1 2020/03/30
14
+
15
+ 1 2020/03/30"
16
+
17
+ m,n = str1.split("\s").map(&:to_i) #m,nに入ってる
18
+
19
+
20
+
21
+ mp = Array.new(m)
22
+
23
+ np = Array.new(n)
24
+
25
+
26
+
27
+ for i in 0..m-1 do #2回繰り返し
28
+
29
+ mp[i] = str2.split(" ") #str2が2回入力される
30
+
31
+ mp[i][0] = mp[i][0].to_i
32
+
33
+ puts mp[i][1]
34
+
35
+ for j in 1..mp[i][0] do #1回だけ
36
+
37
+ mp[i][j] = mp[i][j].split("/")
38
+
39
+ puts mp[i][j]
40
+
41
+ end
42
+
43
+ end
44
+
45
+ ```
46
+
47
+ これで動くと思います。

1

修正

2017/04/22 07:29

投稿

退会済みユーザー
test CHANGED
@@ -1,15 +1 @@
1
- ```Ruby
2
-
3
- str = "1\s2\s3\s4"
4
-
5
- m,n = str.split("\s").map(&:to_i)
6
-
7
- ```
8
-
9
- で動かしてみました。
10
-
11
- mには1、nには2が入っていました。
12
-
13
-
14
-
15
1
  splitは文字列にしか使えなかったと思います。