Nie mogę uwierzyć, że jeszcze tego nie mamy. Jest to jedna z najważniejszych struktur danych w programowaniu, ale wciąż wystarczająco prosta, aby zaimplementować ją w golfie kodowym :
Wyzwanie
Twoim zadaniem jest zaimplementowanie stosu, który umożliwia wypychanie i usuwanie liczb, testowanie implementacji i uproszczenie operacji we / wy, wykorzystamy następującą konfigurację:
- Dane wejściowe będą listą liczb całkowitych nieujemnych
Każda dodatnia liczba całkowita oznacza a każde oznacza - odrzucając górny element.push ( n ) 0 pop ()
- Wyjściowym wynikiem będzie stos
Przykład
Na przykład, jeśli otrzymamy :
Dane wyjściowe będą wynosić:
Zasady
- Dane wejściowe będą listą nieujemnych liczb całkowitych w dowolnym domyślnym formacie We / Wy
- możesz użyć ujemnej liczby całkowitej, aby oznaczyć koniec strumienia liczb całkowitych
- Wyjście będzie listą / macierzą / .. stosu wynikowego
- Twój wybór, gdzie będzie górny element (na początku lub na końcu), wynik musi być spójny
- wyjście jest elastyczne (np. liczby całkowite oddzielone nowymi wierszami byłyby w porządku), jedyna rzecz, która ma znaczenie, to kolejność
- możesz użyć ujemnej liczby całkowitej, aby oznaczyć spód stosu
- Masz gwarancję, że nigdy nie będzie gdy stos będzie pusty
Przykłady
[] -> []
[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]