Étant donné une liste ordonnée de nombres (éventuellement avec des zéros en tête), organisez les nombres verticalement, puis laissez tous les zéros tomber jusqu'en bas et tous les surplombs tombent dans la fente la plus ouverte en bas. Sortez les entiers résultants, en supprimant les zéros de tête.
Exemple travaillé
Disons que nous avons reçu les éléments suivants en entrée:
['0000312941295', '239124000124581598', '32852353800451258', '10235923505185190', '1491359102149']
Nous l'organisons d'abord verticalement:
0000312941295
239124000124581598
32852353800451258
10235923505185190
1491359102149
Ensuite, colonne par colonne, déposez les zéros "à travers" les autres nombres afin qu'ils reposent sur le bas et "poussez" les autres nombres vers le haut. Cela entraînerait les deux premières étapes comme suit:
2000312941295
339124000124581598
12852353800451258
10235923505185190
0491359102149
^
2300312941295
329124000124581598
14852353800451258
10235923505185190
0091359102149
^
2390312941295
328124000124581598
14252353800451258
10935923505185190
0001359102149
^
...
2391312941295
328524538124581598
14232323525451258
10915991001185190
0000350000049
^
Ensuite, déposez tous les surplombs comme si la gravité les tirait comme du sable.
2391312941295
3285245381245 1598
14232323525458258
10915991001181190
00003500000495
^
2391312941295
3285245381245 598
14232323525458158
10915991001181290
000035000004951
^
...
2391312941295
3285245381245
14232323525458159
10915991001181258
000035000004951908
^
Enfin, affichez ces chiffres en supprimant les zéros non significatifs. Pour notre exemple travaillé, sortie:
[2391312941295, 3285245381245, 14232323525458159, 10915991001181258, 35000004951908]
Pour un autre exemple, supposons l'entrée de [1234000,12345678,1234,12340608,12341234]
.
1234000
12345678
1234
12340608
12341234
Déposez les zéros:
1234
12345678
1234163
12340208
12340004
Déposez les chiffres en surplomb restants:
1234
1234567
12341638
12340208
12340004
La sortie est [1234, 1234567, 12341638, 12340208, 12340004]
.
Règles
- L'entrée peut contenir des zéros non significatifs. La sortie ne doit pas contenir de zéros non significatifs.
- Le cas échéant, vous pouvez supposer que l'entrée / sortie s'adaptera au type Integer natif de votre langue.
- L'entrée et la sortie peuvent être fournies par n'importe quelle méthode pratique .
- Un programme complet ou une fonction sont acceptables. S'il s'agit d'une fonction, vous pouvez renvoyer la sortie plutôt que de l'imprimer.
- Les failles standard sont interdites.
- Il s'agit de code-golf, donc toutes les règles de golf habituelles s'appliquent et le code le plus court (en octets) gagne.
and all overhangs drop to the bottom-most open slot
était une bonne solution à mon défi cassé :).
. 1234
est très différente de la sortie 1234
.
14232323525458159
à14232323525458160
)