Я не могу поверить, что у нас этого еще нет ... Это одна из самых важных структур данных в программировании, но все же достаточно простая, чтобы реализовать ее в коде-гольфе :
Вызов
Ваша задача состоит в том, чтобы реализовать стек, который позволяет вставлять и выталкивать числа, тестировать вашу реализацию и упрощать ввод / вывод, мы будем использовать следующую настройку:
- На входе будет список неотрицательных целых чисел
Каждое положительное целое число обозначает а каждое обозначает - отбрасывает верхний элемент.push ( n ) 0 pop ()
- На выходе будет получен стек
пример
Например, если нам дано :
Вывод будет:
правила
- Ввод будет список неотрицательных целых чисел в любом формате ввода / вывода по умолчанию
- вы можете использовать отрицательное целое число, чтобы обозначить конец потока целых чисел
- Результатом будет список / матрица / .. результирующего стека
- на ваш выбор, где будет верхний элемент (в начале или в конце), вывод просто должен быть последовательным
- вывод является гибким (например, целые числа, разделенные новыми строками, будет в порядке), единственное, что имеет значение, это порядок
- вы можете использовать отрицательное целое число для обозначения дна стека
- Вы гарантированно, что никогда не будет когда стек пуст
Примеры
[] -> []
[1] -> [1]
[1,0,2] -> [2]
[4,0,1,12] -> [12,1]
[8,3,1,2,3] -> [3,2,1,3,8]
[1,3,7,0,0,0] -> []
[13,0,13,10,1,0,1005,5,0,0,0] -> [13]
[12,3,0,101,11,1,0,0,14,0,28] -> [28,101,12]