http://projecteuler.net/problem=22
いわれたことをやるだけ。
names.txtのフォーマットは最初に'['と最後に']'を足してやるとRubyの配列リテラルになるのでevalするだけで読み込める。
1 #!/usr/bin/env ruby 2 3 names = eval(File.open('names.txt').read) 4 5 def calc(s) 6 s.chars.inject(0) do |acc, c| 7 acc += c.ord - 'A'.ord + 1 8 end 9 end 10 11 acc = 0 12 names.sort.each_with_index do |s, i| 13 acc += calc(s) * (i + 1) 14 end 15 16 p acc