知恵袋のアルファベットを並べる順列の問題をPythonで解いてみました。(^_^;
7つのアルファベット、「 S,U,U,G,A,K,U 」有ります。
7つのアルファベットを並べて、U、が2つ以上隣り合わない順列数を求めよ。
一度、文字列にして、その文字列に'UU'が含まれていないか調べています。また、set(itertools.permutations())で同じものを含む順列を生成しています。
● SUUGAKU.py
# coding: UTF-8 # SUUGAKU.py import itertools P = 'SUUGAKU' c = 0 for p in set(itertools.permutations(P)): # 同じものを含む順列 s = ''.join(p) if 'UU' not in s: c+=1 print(c)
●実行結果
240