The weight of a Zero Given an ordered list of numbers (possibly with leading zeros), arrange the numbers vertically, then let all zeros drop all the way to the bottom and all overhangs drop to the bottom-most open slot. Output the resulting integers, removing leading zeros.

Worked Example

Say we were given the following as input:

['0000312941295', '239124000124581598', '32852353800451258', '10235923505185190', '1491359102149']


First we arrange it vertically:

0000312941295
239124000124581598
32852353800451258
10235923505185190
1491359102149


Then, column by column, drop the zeros "through" the other numbers so they rest on the bottom and "push" the other numbers up. This would result in the first couple steps being as follows:

2000312941295
339124000124581598
12852353800451258
10235923505185190
0491359102149
^

2300312941295
329124000124581598
14852353800451258
10235923505185190
0091359102149
 ^

2390312941295
328124000124581598
14252353800451258
10935923505185190
0001359102149
  ^

...

2391312941295
328524538124581598
14232323525451258
10915991001185190
0000350000049
                ^


Next, drop all overhangs as if gravity is pulling them down like sand.

2391312941295
3285245381245 1598
14232323525458258
10915991001181190
00003500000495
             ^

2391312941295
3285245381245  598
14232323525458158
10915991001181290
000035000004951
              ^

...

2391312941295
3285245381245
14232323525458159
10915991001181258
000035000004951908
                 ^


Finally, output these numbers, removing leading zeros. For our worked example, output:

[2391312941295, 3285245381245, 14232323525458159, 10915991001181258, 35000004951908]


For another example, suppose input of [1234000,12345678,1234,12340608,12341234].

1234000
12345678
1234
12340608
12341234


Drop the zeros:

1234  
12345678
1234163
12340208
12340004


Drop the remaining overhanging digits:

1234  
1234567
12341638
12340208
12340004


Output is [1234, 1234567, 12341638, 12340208, 12340004].

Rules


The input may contain leading zeros. The output must not contain leading zeros.
If applicable, you can assume that the input/output will fit in your language's native Integer type.
The input and output can be given by any convenient method.
Either a full program or a function are acceptable. If a function, you can return the output rather than printing it.
Standard loopholes are forbidden.
This is code-golf so all usual golfing rules apply, and the shortest code (in bytes) wins.
Jelly, 8 bytes

Z¬Þ€UZṚḌ


Try it online!

How it works

Z¬Þ€UZṚḌ  Main link. Argument: M (2D array / matrix)

Z         Zip; transpose M by reading columns as rows.
 ¬Þ€      Sort each row of the transpose by logical NOT, pushing 0's to the end.
    U     Upend; reverse all sorted rows of the transpose.
     Z    Zip again, restoring rows from columns. Overhangs rise to the top.
      Ṛ   Reverse the order of the rows.
       Ḍ  Decimal; convert the rows from base 10 to integer.