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

Pythonで文字列を正しくするために削除される最小の無効な括弧をカウントするプログラム


括弧の文字列があるとします。文字列を正しくするために削除する括弧の最小数を計算する関数を作成する必要があります(開いている各括弧は最終的に閉じられます)。

したがって、入力が「(()))(」の場合、出力は2になります。正しい文字列は「(())」なので、「)(」を削除します。

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

  • 合計:=0、温度:=0
  • sの各pについて、
    • pが"("と同じ場合、
      • 合計:=合計+ 1
    • それ以外の場合、pが ")"と同じで、合計が0でない場合、
      • 合計:=合計-1
    • それ以外の場合、
      • temp:=temp + 1
  • 合計+温度を返す

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

class Solution:
   def solve(self, s):
      total = 0
      temp = 0
      for p in s:
         if p == "(":
            total += 1
         elif p == ")" and total:
            total -= 1
         else:
            temp += 1
      return total + temp
ob1 = Solution()
string = "(()))("
print(ob1.solve(string))

入力

"(()))("

出力

2

  1. 与えられた文字列の単語を数えるPythonプログラム?

    「文字列」と「単語」があり、Pythonを使用して文字列内でこの単語の出現回数を見つける必要があるとします。これは、このセクションで行うことです。特定の文字列内の単語の数を数え、それを出力します。 特定の文字列の単語数を数える 方法1:forループを使用する #方法1:forループの使用 test_stirng = input("String to search is : ") total = 1 for i in range(len(test_stirng)):    if(test_stirng[i] == ' ' or te

  2. 文字列内の単語の出現をカウントするPythonプログラムを作成しますか?

    ここで、ユーザーは文字列を指定し、ユーザーは出現回数をカウントするための単語も指定しました。私たちの仕事は、発生回数を数えて印刷することです。 例 programming Output:: 2 アルゴリズム wordoccurences(n,p) /* n is input string and p is the word to count occurrence */ Step 1: split the string by space Step 2: we use one counter variable c and it’s initialized by 0 and if word is