Computer >> 컴퓨터 >  >> 프로그램 작성 >> Python

어떤 문자의 빈도가 Python에서 문자열 길이의 절반 이상인지 확인하십시오.

<시간/>

소문자, 대문자, 숫자 및 특수 문자가 포함된 문자열 s가 있다고 가정합니다. 문자 중 하나의 빈도가 문자열 길이의 절반 이상인지 확인해야 합니다.

따라서 입력이 s ="CC*Ca5&CC"와 같으면 'C'의 빈도가 5이고 문자열의 길이가 9이므로 출력은 True가 됩니다. (5> 9/2).

이 문제를 해결하기 위해 다음 단계를 따릅니다. −

  • freq :=s 문자의 빈도를 포함하는 맵
  • 주파수의 각 채널에 대해 다음을 수행합니다.
    • ch의 빈도> (s / 2의 크기),
      • 참 반환
  • 거짓을 반환

이해를 돕기 위해 다음 구현을 살펴보겠습니다. −

예시 코드

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