Não acredito que ainda não tenhamos isso. É uma das estruturas de dados mais importantes da programação, mas ainda assim simples o suficiente para implementá-lo em um código-golfe :
Desafio
Sua tarefa é implementar uma pilha que permita empurrar e estourar números, testar sua implementação e manter a E / S simples, usaremos a seguinte configuração:
- A entrada será uma lista de números inteiros não negativos
Todo número inteiro positivo indica um e todo indica um - descartando o elemento superior. 0 pop ()
- A saída será a pilha resultante
Exemplo
Por exemplo, se :
A saída será:
Regras
- A entrada será uma lista de números inteiros não negativos em qualquer formato de E / S padrão
- você pode usar um número inteiro negativo para indicar o final de um fluxo de números inteiros
- A saída será uma lista / matriz / .. da pilha resultante
- Se você escolher onde o elemento principal estará (no início ou no final), a saída precisa ser consistente
- a saída é flexível (por exemplo, números inteiros separados por novas linhas seriam bons), a única coisa que importa é a ordem
- você pode usar um número inteiro negativo para indicar a parte inferior da pilha
- Você está garantido que nunca haverá um quando a pilha estiver vazia
Exemplos
[] -> []
[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]