ধরা যাক রঙের স্ট্রিংয়ের একটি তালিকা আছে যাতে "red", "green", "blue" থাকতে পারে। তালিকাটি পার্টিশন করতে হবে যাতে সব red আগে, তারপর green, তারপর blue থাকে।
উদাহরণ: colors = ["blue","green", "blue", "red", "red"] হলে আউটপুট ['red', 'red', 'green', 'blue', 'blue']।
সমাধানের ধাপসমূহ
- green := 0, blue := 0, red := 0
- প্রতিটি স্ট্রিং-এর জন্য strs-এ:
- যদি "red" হয়, তবে strs[blue] = "blue", blue++, strs[green] = "green", green++, strs[red] = "red", red++
- অন্যথায় যদি "green" হয়, তবে strs[blue] = "blue", blue++, strs[green] = "green", green++
- অন্যথায় যদি "blue" হয়, তবে strs[blue] = "blue", blue++
- strs ফেরত দিন।
উদাহরণ কোড
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']