Код Junior Типизация обновлено

Дженерик-стек

Условие

Реализуйте дженерик-класс Stack[T] (синтаксис 3.12 или Generic[T]) с методами push(x), pop() -> T (на пустом стеке бросает IndexError), peek() -> T | None и __len__. Проверка run(ops) выполняет операции ["push", x], ["pop"], ["peek"], ["len"] и возвращает результаты всех, кроме push (для pop на пустом стеке строку "IndexError").

Примеры

run([["push", 1], ["push", 2], ["pop"], ["peek"], ["len"]]) // [2, 1, 1]
run([["pop"]]) // ["IndexError"]
run([["peek"], ["len"]]) // [null, 0]

Как подойти

Подсказки: 2
  1. Внутри обычный список.
  2. peek на пустом стеке возвращает None.

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

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