少し直してみました

いくつか段階を追ってコミットしているので、細かい部分はそちらを参考にしてください。
更に速度をあげるには、４４行目のfor文によるループの中で、count_if（countでも同じですが）による文字列の走査となっている部分を、文字列を一度だけ走査しただけで各文字のカウントを行うようにするとできると思います。
これをやっちゃうと原型とどめなくなっちゃうので、ここまでにしてあります。
参考になれば。