Terinspirasi oleh Buat dinding biner
Diberikan daftar bilangan bulat positif, kita dapat menuliskan semuanya di atas satu sama lain seperti itu, [2, 6, 9, 4]
sebagai contoh:
0010
0110
1001
0100
Kita bisa membayangkan ini sebagai tembok:
..#.
.##.
#..#
.#..
Namun, ini adalah dinding yang sangat lemah, dan telah runtuh! Setiap 1
( #
) jatuh hingga menyentuh "tanah" atau yang lain 1
( #
). The 0
s ( .
s) yang hadir di tempat yang ditinggalkan terharu 1
s.
Ini menjadi sebagai berikut:
....
....
.##.
####
Yang diterjemahkan kembali ke:
0000
0000
0110
1111
Yang, sebagai daftar angka, adalah [0, 0, 6, 15]
.
Kasus uji lain
[10, 17, 19, 23]
Ini menjadi:
01010
10001
10011
10111
yang menjadi:
00000
10011
10011
11111
menerjemahkan kembali ke:
[0, 19, 19, 31]
Tantangan
Diberikan daftar bilangan bulat positif, terapkan transformasi ini ke daftar. Input / Output sebagai daftar bilangan bulat positif dalam format apa pun yang masuk akal. Celah standar berlaku.
Ini adalah kode-golf , jadi jawaban tersingkat dalam byte menang!