Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> Python

ตรวจสอบว่าตัวอักษรที่พบมากที่สุดใน String หนึ่ง ปรากฏจำนวนครั้งเท่ากันในอีก String หนึ่งหรือไม่ด้วย Python


สมมติมี 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