Calculate cell-phone keypresses
GolfScript, 219 characters
Basic approach using a lookup table:
&quot;Total key presses &quot;0@1/{&quot;1adgjmptw °behknqux\n.°cfilorvy0,\&quot;°ADGJMsTz'-/°BEHKNPUW?(:&amp;°CFILOQVX!)_%&gt;°23456R8Y@;*£¤°SZ+=€[~°79&lt;$]^§°¥{¡#°}¿|°`°&quot;.2$?)\1$&lt;&quot;°&quot;/,{&quot;Invalid character  in source&quot;18/*puts'&quot;#{''exit}&quot;'+~}if\;+}/

Try here.