Project Euler 22
Project Euler 22はアルファベットの名前を足し算するような問題。mapとかinjectとか、実は読みづらいんじゃないかという気がしつつ。
while line = gets names = line.chomp.split(/,/).map{|name| name.gsub(/\"/,'')} end total = 0 def c2v(c) c.ord - "A".ord + 1 end def name_value(name) name.split(//).map{|c| c2v(c)}.inject(:+) end names.sort.each_with_index do |name, i| total += name_value(name) * (i + 1) end puts total