Diambil dari pertanyaan ini di Stack Overflow. Terima kasih juga kepada @miles dan @Dada karena menyarankan input uji yang mengatasi beberapa kasus sudut.
Tantangan
Diberikan array nilai integer, hapus semua nol yang tidak diapit oleh beberapa nilai bukan nol.
Secara setara, sebuah entri harus disimpan baik jika bukan nol atau jika nol yang langsung dekat dengan nilai bukan nol.
Entri yang disimpan harus mempertahankan dalam output urutan yang mereka miliki di input.
Contoh
Diberikan
[2 0 4 -3 0 0 0 3 0 0 2 0 0]
nilai-nilai yang harus dihapus ditandai dengan x
:
[2 0 4 -3 0 x 0 3 0 0 2 0 x]
dan hasilnya harus
[2 0 4 -3 0 0 3 0 0 2 0]
Aturan
Array input mungkin kosong (dan kemudian output juga harus kosong).
Format input dan output fleksibel seperti biasa: array, daftar, string, atau apa pun yang masuk akal.
Golf kode, paling sedikit terbaik.
Uji kasus
[2 0 4 -3 0 0 0 3 0 0 2 0 0] -> [2 0 4 -3 0 0 3 0 0 2 0]
[] -> []
[1] -> [1]
[4 3 8 5 -6] -> [4 3 8 5 -6]
[4 3 8 0 5 -6] -> [4 3 8 0 5 -6]
[0] -> []
[0 0] -> []
[0 0 0 0] -> []
[0 0 0 8 0 1 0 0] -> [0 8 0 1 0]
[-5 0 5] -> [-5 0 5]
[50 0] -> [50 0]
-0
?
[010 0 0 01 1]
?
_2
bukan-2
? Beberapa bahasa menggunakan format itu.