Контест Junior Протоколы, POP и дженерики обновлено

Задача на Swift: дженерик-очередь на двух стеках

Условие

Реализуйте дженерик-очередь Queue<T> на двух массивах-стеках с амортизированным O(1) и обработайте команды:

  • push x: добавить строку x в конец;
  • pop: извлечь и вывести первый элемент или empty;
  • peek: вывести первый элемент без извлечения или empty;
  • size: вывести число элементов.

Первая строка: n (1 ≤ n ≤ 10⁴), дальше команды.

Пример

7
push 1
push 2
peek
pop
push 3
pop
size
1
1
2
1

Решите в тренажёре

Редактор с автотестами прямо в браузере. Можно решить спокойно, вслух или под таймером, как на собесе.