สมมติมี String s และ t ต้องหาตัวอักษรที่พบมากที่สุดใน s แล้วเช็คว่าใน t ปรากฏจำนวนครั้งเท่ากันหรือไม่
เช่น Input s = "crosssection", t = "securesystem" Output True เพราะ 's' พบมากที่สุดใน s (4 ครั้ง) และใน t ก็ 4 ครั้ง
ขั้นตอนแก้:
- นับ Frequency ทุกตัวอักษรใน s
- หา max_freq_char และ max_freq
- ถ้า t.count(max_freq_char) == max_freq Return True
- Return False
ตัวอย่างโค้ด
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))
Input
"crosssection", "securesystem"
Output
True