ধরুন আমাদের একটি সংখ্যাসূচক স্ট্রিং s আছে। আমাদের পরীক্ষা করতে হবে এমন কিছু ব্যবস্থা আছে যেখানে আমরা একই অক্ষরের একটি জোড়া থাকতে পারি এবং বাকি স্ট্রিং একই অক্ষরের যেকোন সংখ্যক ট্রিপলেট তৈরি করতে পারি।
সুতরাং, যদি ইনপুটটি s ="21133123" এর মতো হয়, তাহলে আউটপুট হবে True, কারণ জোড়া হিসেবে "22" এবং দুটি ট্রিপলেট হিসেবে "111", "333" গঠনের জন্য দুটি 2s আছে৷
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
-
d :=s
-এ উপস্থিত প্রতিটি উপাদানের ফ্রিকোয়েন্সি ধারণকারী একটি তালিকা -
প্রতিটি k-এর জন্য d, করুন
-
d[k] :=d[k] - 2
-
যদি d[i] mod 3 d এর সমস্ত i এর জন্য 0 হয়, তাহলে
-
রিটার্ন ট্রু
-
-
d[k] :=d[k] + 2
-
-
রিটার্ন ফলস
উদাহরণ
আসুন আরও ভালভাবে বোঝার জন্য নিম্নলিখিত বাস্তবায়ন দেখি
from collections import Counter def solve(s): d = Counter(s) for k in d: d[k] -= 2 if all(d[i] % 3 == 0 for i in d): return True d[k] += 2 return False s = "21133123" print(solve(s))
ইনপুট
"21133123"
আউটপুট
True