두 개의 문자열 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