Adam's refactoring is actually quite clean: http://refactormycode.com/codes/513-morse-code-encoder-decod...
Refactoring code is about making it clearer, cleaner, and easy to adapt in the future. Not this.
Debugging is twice as hard as writing the code in the first place. Therefore, if you write the code as cleverly as possible, you are, by definition, not smart enough to debug it.
Adam's refactoring is actually quite clean: http://refactormycode.com/codes/513-morse-code-encoder-decod...
Refactoring code is about making it clearer, cleaner, and easy to adapt in the future. Not this.