ログイン
編集不可のページディスカッション情報添付ファイル
iz/競技プログラミング/Project Euler 022 Names scores

MMA

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

iz/競技プログラミング/Project Euler 022 Names scores (最終更新日時 2012-12-22 00:32:39 更新者 iz)