Pythonで、文字の頻度が文字列の長さの半分を超えていないかどうかを確認します
小文字、大文字、数字、および特殊文字を含む文字列sがあるとします。いずれかの文字の頻度が文字列の長さの半分を超えているかどうかを確認する必要があります。
したがって、入力がs ="CC * Ca5&CC"の場合、「C」の頻度は5、文字列の長さは9(5> 9/2)であるため、出力はTrueになります。
これを解決するには、次の手順に従います-
- freq:=sの文字の頻度を含むマップ
- freqの各chについて、
- chの頻度>(s / 2のサイズ)の場合、
- Trueを返す
- chの頻度>(s / 2のサイズ)の場合、
- Falseを返す
理解を深めるために、次の実装を見てみましょう-
サンプルコード
from collections import defaultdict def solve(s): freq = defaultdict(int) for ch in s: freq[ch] += 1 for ch in freq: if freq[ch] > len(s) // 2: return True return False s = "CC*Ca5&CC" print(solve(s))
入力
"CC*Ca5&CC"
出力
True
-
指定された文字列がパングラムであるかどうかを確認するPythonプログラム
この記事では、特定の問題ステートメントを解決するための解決策とアプローチについて学習します。 問題の説明 文字列入力が与えられた場合、その文字列がパングラムであるかどうかを確認するPythonプログラムを生成する必要があります。 パングラムは、英語のアルファベットコレクションのすべての文字を含む文/一連の単語です。 では、問題を解決する方法を見てみましょう 入力文字列に存在する各文字が、手動で宣言するアルファベットセットに属しているかどうかをチェックするループを使用します。 上記のアプローチの実装は、-によって与えられます。 例 import string def ispangram
-
Pythonで文字列の長さを取得するにはどうすればよいですか?
Pythonには、複合オブジェクトの長さを指定するlen()というメソッドがあります。文字列の長さを取得するには、文字列をlen()呼び出しに渡すだけです。たとえば、 print(len('abcdefghijklmnopqrstuvwxyz')) 出力 26