itertoolsとかいう便利なモジュール

与えられた文字列を並べ替え、辞書順でK番目に当たるのは?という問題。

atcoder.jp

この問題を解いていて出会ったモジュールitertoolsに感動したので、備忘録。

 

実際のに上の問題を解いたコードです。

import itertools
S,K = input().split()
S = list(S);K = int(K)
l = list(set(itertools.permutations(S)))
l.sort()
print("".join(l[K-1]))

permutationsという関数が引数にした文字列S(リスト型)の順列の全組み合わせを求めてくれます。とても、便利!!

 

ちなみに、このitertoolsモジュールには他にも色々便利な関数を持ってるそうです。

qiita.com