মান লেন, আমাদের কাছে একটি স্ট্রিং s আছে। আমাদের যাচাই করতে হবে s-এ প্রতিটি ক্যারেক্টারেরgeh প্রাইম কিনা।
যেমন, ইনপুট হলে s = "apuuppa", তবে আউটপুট হবে True কারণ দুটি 'a', তিনটি 'p' এবং দুটি 'u' আছে।
এটি সমাধান করতে আমরা নিচের ধাপগুলো অনুসরণ করব:
- freq := একটি ম্যাপ যাতে সব ক্যারেক্টার এবং তাদের ফ্রিকোয়েন্সি থাকে।
- freq-এ প্রতিটি char-এর জন্য:
- যদি freq[char] > 0 এবং freq[char] প্রাইম না হয়, তবে False রিটার্ন করুন।
- True রিটার্ন করুন।
উদাহরণ কোড
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 i in range(len(s)):
freq[s[i]] += 1
for char in freq:
if freq[char] > 0 and isPrime(freq[char]) == False:
return False
return True
s = "apuuppa"
print(solve(s))
ইনপুট
"apuuppa"
আউটপুট
True