hash = {}
alpha = 'A'
for number in 1.upto(26)
hash[alpha] = number
alpha = alpha.succ
end
MapOfAlphaToNumber = hash
def parse_excel_row_id(string)
row_num = 0
for alpha in string.split(//)
raise 'Invalid Row ID' unless MapOfAlphaToNumber.has_key?(alpha)
row_num = row_num * 26 + MapOfAlphaToNumber[alpha]
end
return row_num
end
printf "'A' --> %d", parse_excel_row_id('A')
puts
printf "'AA' --> %d", parse_excel_row_id('AA')
puts
printf "'ZZZ' --> %d", parse_excel_row_id('ZZZ')
puts
aGFzaCAgPSB7fQphbHBoYSA9ICdBJwpmb3IgbnVtYmVyIGluIDEudXB0bygyNikKCWhhc2hbYWxwaGFdID0gbnVtYmVyCglhbHBoYSAgICAgICA9IGFscGhhLnN1Y2MKZW5kCgpNYXBPZkFscGhhVG9OdW1iZXIgPSBoYXNoCgoKZGVmIHBhcnNlX2V4Y2VsX3Jvd19pZChzdHJpbmcpCglyb3dfbnVtID0gMAoJZm9yIGFscGhhIGluIHN0cmluZy5zcGxpdCgvLykKCQlyYWlzZSAnSW52YWxpZCBSb3cgSUQnIHVubGVzcyBNYXBPZkFscGhhVG9OdW1iZXIuaGFzX2tleT8oYWxwaGEpCgoJCXJvd19udW0gPSByb3dfbnVtICogMjYgKyBNYXBPZkFscGhhVG9OdW1iZXJbYWxwaGFdCgllbmQKCglyZXR1cm4gcm93X251bQplbmQKCgpwcmludGYgIidBJyAgIC0tPiAlZCIsIHBhcnNlX2V4Y2VsX3Jvd19pZCgnQScpCnB1dHMKcHJpbnRmICInQUEnICAtLT4gJWQiLCBwYXJzZV9leGNlbF9yb3dfaWQoJ0FBJykKcHV0cwpwcmludGYgIidaWlonIC0tPiAlZCIsIHBhcnNlX2V4Y2VsX3Jvd19pZCgnWlpaJykKcHV0cwo=