Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- -------------------------------------------------------------------------------------------
- PE_022.jl
- -------------------------------------------------------------------------------------------
- ALPHABET_INDEX = Dict( letter => index for (index, letter) in enumerate('A':'Z'))
- function namescore(name)
- return sum(ALPHABET_INDEX[letter] for letter in name[2:end-1])
- end
- function sort_file(filename)
- file = open(filename)
- sort(split(readstring(filename),","))
- end
- function PE_022(filename="../p022_names.txt")
- total = 0
- for (index, name) in enumerate(sort_file(filename))
- total += index*namescore(name)
- end
- total
- end
- println(PE_022())
- -------------------------------------------------------------------------------------------
- PE_022_alt_1.jl
- -------------------------------------------------------------------------------------------
- OFFSET = Int('A') - 1
- function namescore(name)
- return sum(Int(letter)-OFFSET for letter in name)
- end
- function sort_file(filename)
- file = open(filename)
- sort(split(readstring(filename),","))
- end
- function PE_022_alt_1(filename="../p022_names.txt")
- total = 0
- for (index, name) in enumerate(sort_file(filename))
- total += index*namescore(name[2:end-1])
- end
- total
- end
- println(PE_022_alt_1())
- -------------------------------------------------------------------------------------------
- PE_022_alt_2.jl
- -------------------------------------------------------------------------------------------
- OFFSET = Int('A') - 1
- function namescore(name)
- return sum(Int(letter) for letter in name) - (length(name)) * OFFSET
- end
- function sort_file(filename)
- file = open(filename)
- sort(split(readstring(filename),","))
- end
- function PE_022_alt_2(filename="../p022_names.txt")
- total = 0
- for (index, name) in enumerate(sort_file(filename))
- total += index*namescore(name[2:end-1])
- end
- total
- end
- println(PE_022_alt_2())
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement