Дайте пожалуйста совет по решению задачи (очереди в Python)

Строки в python сравниваются, учитывая коды символов (“Я” > “Q”, “B” > “A”). Создайте структуру данных для работы с очередями, где объекты имеют приоритет. Вам на вход будет подано несколько очередей, при разборе которых нужно придерживаться правил: первой обрабатывается очередь, в которой находится наибольшее кол-во объектов, при равных длинах очередей приоритет отдается согласно приоритету крайнего объекта (А > B > C). Очередь задаётся строковой последовательностью символов, например: ABBBCAABB. Нужно реализовать функционал: ● инициализация очереди ● добавление объекта в конец очереди ● удаление первого объекта очереди ● имплементируйте для очередей операторы сравнения очередей

, <, ==. Они должны отрабатывать в соответствии с логикой описанной в условии разбора очередей (бОльшая очередь, которая имеет бОльшую длину, а также согласно приоритету первого объекта)

ABB > BBB
AA < BBB
AA == AB

● функция/метод для разбора двух параллельных очередей согласно логике разбора (подсказка: используйте для этого операторы сравнения >,<,==) ● Ограничения: не используйте сложные структуры данных python (deque и т.д.). Напишите реализацию с использованием стандартных типов (строки, списки)Пример

Моя попытка:

class myDeque():
    def __init__(self, queue):
        self.que = queue

    def print_queue(self):
        return print(self.que)

    def add(self, object):
        self.que = self.que + object

    def remove(self):
        self.que = self.que[:0] + self.que[1:]
        return self.que

    def size(self):
        return len(self.que)

def parse_deques(first_que,second_que):
    if first_que.size() == second_que.size():
        pass 
    if first_que.size() > second_que.size():
        pass
    if first_que.size() < second_que.size():
        pass
    pass


a = myDeque('AABB')
a.remove()
a.add('B')
a.print_queue()
print(a.size())

Ответы (0 шт):