โจทย์: กำหนด String s ตรวจสอบว่า Frequency ของทุก Character เป็น Prime Number หรือไม่
ตัวอย่าง
s = "apuuppa" → True (a:2, p:3, u:2 → ทั้งหมดเป็น Prime)
อัลกอริทึม
- นับ Frequency ทุก Character (Dictionary/Counter)
- ตรวจสอบทุก Frequency: >0 และเป็น Prime
- มีตัวไหนไม่ผ่าน → False
โค้ดตัวอย่าง
from collections import defaultdict
def isPrime(num):
if num > 1:
for i in range(2, num):
if num % i == 0:
return False
return True
return False
def solve(s):
freq = defaultdict(int)
for ch in s:
freq[ch] += 1
for char in freq:
if freq[char] > 0 and not isPrime(freq[char]):
return False
return True
s = "apuuppa"
print(solve(s))
Input / Output
Input: "apuuppa" Output: True