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

한 문자열의 최대 발생 문자가 동일한 번호로 나타나는지 확인합니다. 파이썬에서 다른 시간의

<시간/>

두 개의 문자열 s와 t가 있다고 가정하고 s에서 가장 빈번한 문자를 선택하고 그 특정 문자가 t에 동일한 횟수만큼 존재하는지 확인해야 합니다.

따라서 입력이 s ="crosssection", t ="securesystem"과 같으면 s에서 가장 빈번한 문자가 's'이므로 출력은 True가 됩니다. 그리고 t에 ''의 출현 횟수가 동일합니다.

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

  • freq :=s의 모든 문자와 그 빈도를 포함하는 지도
  • max_freq_char =빈도가 최대인 s의 문자
  • max_freq :=max_freq_char의 주파수 값
  • t에서 max_freq_char의 발생이 max_freq와 같으면
    • 참 반환
  • 거짓을 반환

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

from collections import defaultdict
def solve(s, t) :
   freq = defaultdict(int)
   for char in s :
      freq[char] += 1
   max_freq_char = max(freq, key=freq.get)
   max_freq = freq[max_freq_char]
   if max_freq == t.count(max_freq_char) :
      return True
   return False
s = "crosssection"
t = "securesystem"
print(solve(s, t))

입력

"crosssection", "securesystem"

출력

True