Крупье и колода

Задача по программированию с проверкой онлайн

Сложность
Лёгкая
Языки
Python
JavaScript
TypeScript
Java
Go
Темы
Классы и ООП
Стек, очередь, связные списки

Крупье работает с колодой карт (положительные целые), которая сначала пуста. Реализуйте операции:

  • add_top (карта) и add_bottom (карта): положить карту сверху или снизу колоды; результат — число карт в колоде;
  • deal_top и deal_bottom: снять и вернуть верхнюю или нижнюю карту, а для пустой колоды вернуть 0;
  • cut (k): снять сверху k карт и, не меняя их порядка, положить вниз колоды. Если k больше числа карт, берётся остаток от деления k на число карт; пустую колоду операция не меняет. Результат — верхняя карта после снятия или 0, если колода пуста;
  • top: результат — верхняя карта (0, если колода пуста), колода не меняется.

Верните список результатов, по одному на операцию. values[i] — аргументы операции i.

Пример: ["add_top", "add_bottom", "add_top", "cut", "deal_top", "deal_bottom", "top"], [[3], [4], [5], [1], [], [], []] → [1, 2, 3, 3, 3, 5, 4].


Источник: задача CodeShare

Решить онлайнБесплатно и без регистрации: пишете код в браузере и проверяете его тестами (без аккаунта — несколько задач в день).

Ещё задачи

Все задачи для тренировки