Advertisement
Guest User

benchmark_functions

a guest
Oct 16th, 2017
157
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Julia 1.99 KB | None | 0 0
  1. -------------------------------------------------------------------------------------------
  2.     PE_022.jl
  3. -------------------------------------------------------------------------------------------
  4.  
  5. ALPHABET_INDEX = Dict( letter => index for (index, letter) in enumerate('A':'Z'))
  6.  
  7.  
  8. function namescore(name)
  9.     return sum(ALPHABET_INDEX[letter] for letter in name[2:end-1])
  10. end
  11.  
  12.  
  13. function sort_file(filename)
  14.     file = open(filename)
  15.     sort(split(readstring(filename),","))
  16. end
  17.  
  18.  
  19. function PE_022(filename="../p022_names.txt")
  20.  
  21.     total = 0
  22.     for (index, name) in enumerate(sort_file(filename))
  23.         total += index*namescore(name)
  24.     end
  25.     total
  26. end
  27.  
  28. println(PE_022())
  29.  
  30. -------------------------------------------------------------------------------------------
  31.     PE_022_alt_1.jl
  32. -------------------------------------------------------------------------------------------
  33.  
  34. OFFSET = Int('A') - 1
  35.  
  36. function namescore(name)
  37.     return sum(Int(letter)-OFFSET for letter in name)
  38. end
  39.  
  40. function sort_file(filename)
  41.     file = open(filename)
  42.     sort(split(readstring(filename),","))
  43. end
  44.  
  45.  
  46. function PE_022_alt_1(filename="../p022_names.txt")
  47.     total = 0
  48.     for (index, name) in enumerate(sort_file(filename))
  49.         total += index*namescore(name[2:end-1])
  50.     end
  51.     total
  52. end
  53.  
  54. println(PE_022_alt_1())
  55.  
  56. -------------------------------------------------------------------------------------------
  57.     PE_022_alt_2.jl
  58. -------------------------------------------------------------------------------------------
  59.  
  60. OFFSET = Int('A') - 1
  61.  
  62. function namescore(name)
  63.     return sum(Int(letter) for letter in name) - (length(name)) * OFFSET
  64. end
  65.  
  66. function sort_file(filename)
  67.     file = open(filename)
  68.     sort(split(readstring(filename),","))
  69. end
  70.  
  71.  
  72. function PE_022_alt_2(filename="../p022_names.txt")
  73.     total = 0
  74.     for (index, name) in enumerate(sort_file(filename))
  75.         total += index*namescore(name[2:end-1])
  76.     end
  77.     total
  78. end
  79.  
  80. println(PE_022_alt_2())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement