word_processing.sf 481 B

1234567891011121314151617
  1. #!/usr/bin/ruby
  2. var base = ('A'.ord - 1)
  3. var n = DATA.slurp.chomp.split(/\s*,\s*/) \
  4. .map { |s| s - /"/g }.sort.uniq \
  5. .map { |s| s.chars.sum { |sym| sym.ord - base } } \
  6. .sum_kv { |idx, val| val * (idx+1) }
  7. assert_eq(n, 5738);
  8. say "** Test passed!";
  9. __DATA__
  10. "LISA","MARY","PATRICIA","LINDA","BARBARA",
  11. "MARIA","ELIZABETH","JENNIFER","MARIA","SUSAN",
  12. "MARGARET","DOROTHY","LISA","NANCY","KAREN","MARY"