ধরুন আমাদের কাছে রঙের স্ট্রিংগুলির একটি তালিকা রয়েছে, এতে "লাল", "সবুজ" এবং "নীল" থাকতে পারে, আমাদের তালিকাটি ভাগ করতে হবে যাতে সবুজের আগে লাল আসে এবং নীলের আগে সবুজ আসে।
সুতরাং, যদি ইনপুট রঙের মত হয় =["নীল","সবুজ", "নীল", "লাল", "লাল"], তাহলে আউটপুট হবে ['লাল', 'লাল', 'সবুজ', ' নীল', 'নীল']
এটি সমাধান করতে, আমরা এই পদক্ষেপগুলি অনুসরণ করব -
-
সবুজ :=0, নীল :=0, লাল :=0
-
স্ট্রে প্রতিটি স্ট্রিংয়ের জন্য, করুন
-
যদি স্ট্রিং "লাল" এর মত হয়, তাহলে
-
strs[নীল] :="নীল"
-
নীল :=নীল + 1
-
strs[সবুজ] :="সবুজ"
-
সবুজ :=সবুজ + 1
-
strs[red] :="লাল"
-
লাল :=লাল + 1
-
-
অন্যথায় যখন স্ট্রিং "সবুজ" এর মত হয়, তখন
-
strs[নীল] :="নীল"
-
নীল :=নীল + 1
-
strs[সবুজ] :="সবুজ"
-
সবুজ :=সবুজ + 1
-
-
অন্যথায় যখন স্ট্রিং "নীল" এর মতো হয়, তখন
-
strs[নীল] :="নীল"
-
নীল :=নীল + 1
-
-
-
ফেরত স্ট্রার্স
আরো ভালোভাবে বোঝার জন্য আসুন নিচের বাস্তবায়ন দেখি -
উদাহরণ
class Solution: def solve(self, strs): green = 0 blue = 0 red = 0 for string in strs: if string == "red": strs[blue] = "blue" blue += 1 strs[green] = "green" green += 1 strs[red] = "red" red += 1 elif string == "green": strs[blue] = "blue" blue += 1 strs[green] = "green" green += 1 elif string == "blue": strs[blue] = "blue" blue += 1 return strs ob = Solution() colors = ["blue","green", "blue", "red", "red"] print(ob.solve(colors))
ইনপুট
["blue","green", "blue", "red", "red"]
আউটপুট
['red', 'red', 'green', 'blue', 'blue']