RoomItems = "abab abab abab abab abab abab abab abab abab abab abab abab abab abab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab ab"
DirtyRoom = "ababababababababababababababababababababababababababababaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabbaabb"
RoomItems = sorted(RoomItems.split(" "), key=len)[::-1]
def Yarr(RoomItems, DirtyRoom):
for Item in RoomItems:
if all(char in DirtyRoom[0:len(Item)] for char in Item):
print Item, DirtyRoom[0:len(Item)]
RoomItems.remove(Item)
DirtyRoom = DirtyRoom.replace(DirtyRoom[0:len(Item)],"")+DirtyRoom[0:len(Item)]
Yarr(RoomItems, DirtyRoom)
Yarr(RoomItems, DirtyRoom)
abab abab
abab aabb
abab abab
abab aabb
abab abab
abab aabb
abab abab
abab aabb
abab abab
abab aabb
abab abab
abab aabb
abab abab
abab aabb
ab ab
ab ab
ab ab
ab ab
ab ab
ab ab
ab ab
ab ab
ab ab
ab ab
ab ab
ab ab
ab ab
ab ab
ab ab
ab ab
ab ab
ab ab
ab ab
ab ab
ab ab
ab ab
ab ab
ab ab
ab ab
ab ab
ab ab
ab ab