回答編集履歴
2
補足への回答
answer
CHANGED
@@ -22,4 +22,11 @@
|
|
22
22
|
```Ruby
|
23
23
|
# 男性の最高齢
|
24
24
|
who = data.find_all{|x| x[2]=="男"}.sort_by{|x| x[10]}.first
|
25
|
-
```
|
25
|
+
```
|
26
|
+
|
27
|
+
#補足への回答
|
28
|
+
> invalid byte sequence in Windows-31J (ArgumentError)
|
29
|
+
|
30
|
+
おそらく、Ruby起動オプションまたは環境変数RUBYOPTで、外部エンコーディングにWindows-31J(いわゆるシフトJIS)が指定されているのに、実際のCSVファイルの文字コードがシフトJISでないと言うことです。
|
31
|
+
UTF-8なのであれば、
|
32
|
+
`Encoding.default_external = "UTF-8"`を記述して下さい。
|
1
微修正
answer
CHANGED
@@ -2,8 +2,10 @@
|
|
2
2
|
```Ruby
|
3
3
|
# 最初に集計表を作る
|
4
4
|
shukei = Hash.new(0)
|
5
|
+
~~~~~
|
5
6
|
# 各行に対してカウントアップを繰り返す
|
6
|
-
shukei[array[5]] +=1
|
7
|
+
shukei[array[5]] +=1
|
8
|
+
~~~~~
|
7
9
|
# 最後に結果を件数でソートして上位5まで取る
|
8
10
|
top5 = shukei.sort_by{|k,v| -v}.take(5)
|
9
11
|
```
|