I understand that I should not optimize every single spot of my program so please consider this question to be \"academic\"
I have maximum 100 strings and integer n
Yes!
Hash must go over your string and build a hash value. while using trie as explained in the link [Wiki:Trie] only need to follow a path on a linked structure without any over calculations. and if it's compressed trie, as explained in the end of the page it takes into a count a case when an initial is for one word (the DELL case you spoke about). the pre-processing is a little higher but give the best performance in run time.
some more advantages:
1. if the string you are looking for doesn't exists you know that in the first char which is different from the existing strings (don't need to continue the calculation)
2. after implemented, adding more string to the trie is straight forward.