Python
 Computer >> コンピューター >  >> プログラミング >> Python

Pythonでk個の連続する重複文字を削除した後に文字列を検索するプログラム


文字列sと別の値kがあるとすると、最初のk個の連続する重複文字を繰り返し削除し、最後の文字列を返します。

したがって、入力がs ="paaappmmmma" k =3の場合、出力は "ma"になります。これは、3つの"a"を削除して"pppmmmma"を取得する場合と同じです。次に、3つの「p」を削除して「mmmma」を取得します。次に、4つの「m」のうち3つを削除して、「ma」を取得します。

これを解決するには、次の手順に従います。

  • 次の手順を無限に実行します。
    • count:=0
    • chars:=sから一意の文字を取得する
    • 文字の各文字cについて、
      • k個の連続するcがsにある場合、
        • sからk個の連続したcを削除する
        • count:=count + 1
    • カウントが0と同じ場合、
      • ループから抜け出す
  • 返品

理解を深めるために、次の実装を見てみましょう。

class Solution:
   def solve(self, s, k):
      while True:
         count = 0
         chars = set(s)
         for c in chars:
            if c * k in s:
               s = s.replace(c * k, "")
               count += 1
         if count == 0:
            break
      return s

ob = Solution()
s = "paaappmmmma"
k = 3
print(ob.solve(s, k))

入力

"paaappmmmma", 3

出力

ma

  1. 文字列内のミラー文字を検索するPythonプログラム

    ユーザー入力文字列とその位置からの位置を指定すると、文字をアルファベット順に文字列の長さまでミラーリングする必要があります。この操作では、「a」を「z」に、「b」を「y」に、「c」を「x」に、「d」を「w」に変更します。これは、最初の文字が最後になることを意味します。オン。 Inpu t: p = 3 Input string = python Output : pygslm アルゴリズム Step 1: Input the string and position from we need to mirror the characters. Step 2: Creating a s

  2. Pythonを使用して文字列からすべての重複文字を検索する

    1つの文字列が与えられます。私たちのタスクは、指定された文字列内で頻度が複数の文字を見つけることです。 例として、「HelloWorld」という文字列を見ることができます。 Pythonを学びましょう」と言うと、アルゴリズムは複数回出現する文字を検出します。この場合、出力は次のようになります- e : 3 l : 4 o , 3) <space> : 4 r : 2 t : 2 n : 2 この問題を実装するために、Pythonコレクションを使用しています。コレクションから、Counter()メソッドを取得できます。 Counter()メソッドは、ハッシュテーブルオブジェ