kは不変なのだからk.charCodeAtを文字でおくと短くなるし
2回あるif(i==l){ }も ?: をつかったり式をまとめたりすれば
だいぶ短くなるよ
cを生成するところもなにか工夫できそう