文字列をk個の異なるパーティションに分割するPythonプログラム
文字列sと値kがあるとします。 kの値は、sの長さの係数であり、長さがnであるとします。 sをサイズkのt_iと呼ばれるn/k個の異なる部分文字列に分割できます。次に、これらのt_iを使用して、u_iを次のようにします
-
u_iに存在する文字は、t_iの文字のサブシーケンスです
-
u_iの各文字の頻度が1になるように、これらの文字列から繰り返し文字が削除されます
これらのu_i文字列を見つける必要があります
したがって、入力がs ="MMPQMMMRM" k =3の場合、sのサイズは9、kは3であるため、出力は["MP"、 "QM"、 "MR"]になります。したがって、9 / 3 =3。文字列はMMP、QMM、およびMRMですが、重複する文字はサポートされていないため、MP、QM、およびMRになります。
これを解決するには、次の手順に従います-
- i:=0
- ret:=新しいリスト
- mp:=新しいマップ
- to_print:=空白の文字列
- i
- i mod kが0と同じで、iが0でない場合、
- retの最後にto_printを挿入
- mpをクリアしてto_printをクリア
- s [i]がmpに存在しない場合、
- mp [s [i]]:=0
- to_print:=to_print + s [i]
- i:=i + 1
- i mod kが0と同じで、iが0でない場合、
例
理解を深めるために、次の実装を見てみましょう
def solve(s, k): i = 0 ret = [] mp, to_print = {}, "" while i < len(s): if i % k == 0 and i != 0: ret.append(to_print) mp, to_print = {}, "" if s[i] not in mp.keys(): mp[s[i]] = 0 to_print += s[i] i += 1 ret.append(to_print) return ret s = "MMPQMMMRM" k = 3 print(solve(s, k))
入力
"MMPQMMMRM", 3
出力
['MP', 'QM', 'MR']
-
リストを文字列に変換するPythonプログラム
この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 リストを指定すると、文字列型に変換する必要があります。 ここでは、上記の問題ステートメントを解決するための4つの異なるアプローチについて説明します- アプローチ1:空の文字列で連結を使用する。 例 def listToString(s): # empty string str1 = "" # traversal for ele in s:  
-
文字列を分割して結合するPythonプログラム?
Pythonプログラムは、文字列の結合と文字列の分割のための組み込み関数を提供します。 split Str.split() join Str1.join(str2) アルゴリズム Step 1: Input a string. Step 2: here we use split method for splitting and for joining use join function. Step 3: display output. サンプルコード #split of string str1=input(Enter first String with space :: ) prin