fork download
  1. # 都道府県 人口(人) 面積(km2)
  2. strData =<<_EOT_
  3. 北海道 5,248,552 83,424.39
  4. 青森県 1,246,138 9,645.64
  5. 岩手県 1,226,430 15,275.01
  6. 宮城県 2,303,160 7,282.29
  7. 秋田県 965,968 11,637.52
  8. 山形県 1,077,057 9,323.15
  9. 福島県 1,847,950 13,783.90
  10. 茨城県 2,868,041 6,097.39
  11. 栃木県 1,942,312 6,408.09
  12. 群馬県 1,937,626 6,362.28
  13. 埼玉県 7,337,330 3,797.75
  14. 千葉県 6,279,026 5,157.60
  15. 東京都 13,942,856 2,194.07
  16. 神奈川県 9,200,166 2,416.30
  17. 新潟県 2,222,004 12,584.24
  18. 富山県 1,042,998 4,247.59
  19. 石川県 1,137,181 4,186.05
  20. 福井県 767,742 4,190.52
  21. 山梨県 812,056 4,465.27
  22. 長野県 2,049,023 13,561.56
  23. 岐阜県 1,988,931 10,621.29
  24. 静岡県 3,639,226 7,777.35
  25. 愛知県 7,552,873 5,173.06
  26. 三重県 1,779,770 5,774.45
  27. 滋賀県 1,413,959 4,017.38
  28. 京都府 2,583,140 4,612.20
  29. 大阪府 8,823,453 1,905.29
  30. 兵庫県 5,463,609 8,400.94
  31. 奈良県 1,331,330 3,690.94
  32. 和歌山県 923,721 4,724.65
  33. 鳥取県 555,663 3,507.14
  34. 島根県 673,891 6,708.27
  35. 岡山県 1,891,346 7,114.33
  36. 広島県 2,807,987 8,479.64
  37. 山口県 1,355,495 6,112.53
  38. 徳島県 728,633 4,146.75
  39. 香川県 956,069 1,876.79
  40. 愛媛県 1,338,811 5,676.16
  41. 高知県 697,674 7,103.64
  42. 福岡県 5,110,113 4,986.51
  43. 佐賀県 814,211 2,440.70
  44. 長崎県 1,325,205 4,131.00
  45. 熊本県 1,746,740 7,409.45
  46. 大分県 1,134,431 6,340.76
  47. 宮崎県 1,072,077 7,735.33
  48. 鹿児島県 1,599,984 9,187.08
  49. 沖縄県 1,454,184 2,281.00
  50. _EOT_
  51.  
  52. arr = []
  53. strData.split("\n").each{|line|
  54. dat = line.split("\t")
  55. dat[1] = dat[1].tr( ',', '' ).to_i # 人口(人)
  56. dat[2] = dat[2].tr( ',', '' ).to_f # 面積(km2)
  57. arr << dat
  58. }
  59.  
  60. arr.sort_by!{|x| - x[1] / x[2] }
  61. popula = 0
  62. area = 0
  63. ans = []
  64. 20.times{
  65. arr.sort_by!{|x| (popula + x[1]) / (area + x[2]) }
  66. a = arr.pop
  67. ans << a
  68. popula += a[1]
  69. area += a[2]
  70. }
  71. puts "%12.6f 人/km2" % [popula / area]
  72. puts "[#{ans.map{|a| a[0]}.join(",")}]"
  73.  
  74. =begin
  75.  
  76. 959 デフォルトの名無しさん 2020/02/24(月) 20:48:14.13 ID:D8qhYUus
  77.   [お題]
  78.   URLのページに都道府県別の人口と面積が載っている。
  79.    今回使用するのは、2019.10.1のデータ
  80.    URL: https://u...content-available-to-author-only...b.jp/pjn/pb.html
  81.  
  82.    異なる20都道府県を選んで人口密度(人/km2)を最大化する。
  83.    人口密度は、少数6桁程度表示
  84.    選んだ都道府県名を 20個表示する(表示されてる順 ← 県コード順)。
  85.  
  86.    例えば、3都道府県なら、
  87.     4906.099305 人/km2
  88.     [東京都, 神奈川県, 大阪府]
  89.  
  90.   ※入力はwebページから(工夫して)コピペで、スクレイピングの問題じゃない。
  91.  
  92. =end
  93.  
Success #stdin #stdout 0s 6500KB
stdin
Standard input is empty
stdout
 1008.245481 人/km2
[東京都,大阪府,神奈川県,香川県,埼玉県,沖縄県,佐賀県,愛知県,千葉県,福岡県,奈良県,京都府,滋賀県,鳥取県,長崎県,石川県,富山県,兵庫県,茨城県,徳島県]