#49: 2022-01-15 やったこと

GAKKOU の 6 文字を並べ替えてできる 360 個の文字列を辞書式に並べるとき、100 番目の文字列を求めよ。

  • 答えはすでに見てしまったのですが、この問題を解くには F# でどう書いたらいいのだろうか、と興味が湧いたのでやってみます。

まず文字列を 1 文字ずつのリストに変換します。

let splitString str =     
    let rec split (s:string) lst =  
        if s.Length > 0 then split s.[1..] (s.[0] :: lst)  
        else List.rev lst  
    split str []

こういう感じでしょうか。

もしかしたら、もっとスマートに書けるのかもしれません。