- 22, Oct 2024
- #1
Учитывая упорядоченный список чисел (возможно, с ведущими нулями), расположите числа вертикально, затем позвольте всем нулям опуститься до самого низа, а все выступающие части опуститься в самый нижний открытый слот. Выведите полученные целые числа, удалив ведущие нули.
Рабочий пример
Скажем, нам было дано следующее в качестве входных данных:
[1234, 1234567, 12341638, 12340208, 12340004]
Сначала расположим его вертикально:
1234
1234567
12341638
12340208
12340004
Затем, столбец за столбцом, опускайте нули «через» другие числа, чтобы они оказались внизу, и «подталкивайте» другие числа вверх. В результате первые несколько шагов будут выглядеть следующим образом:
1234
12345678
1234163
12340208
12340004
Затем опустите все выступы, как будто сила тяжести тянет их вниз, как песок.
1234000
12345678
1234
12340608
12341234
Наконец, выведите эти числа, удалив ведущие нули. Для нашего рабочего примера выведите:
[1234000,12345678,1234,12340608,12341234]
В качестве другого примера предположим, что введено [2391312941295, 3285245381245, 14232323525458159, 10915991001181258, 35000004951908]
.
2391312941295
3285245381245 1598
14232323525458258
10915991001181190
00003500000495
^
2391312941295
3285245381245 598
14232323525458158
10915991001181290
000035000004951
^
...
2391312941295
3285245381245
14232323525458159
10915991001181258
000035000004951908
^
Отбросьте нули:
2000312941295
339124000124581598
12852353800451258
10235923505185190
0491359102149
^
2300312941295
329124000124581598
14852353800451258
10235923505185190
0091359102149
^
2390312941295
328124000124581598
14252353800451258
10935923505185190
0001359102149
^
...
2391312941295
328524538124581598
14232323525451258
10915991001185190
0000350000049
^
Отбросьте оставшиеся нависающие цифры:
0000312941295
239124000124581598
32852353800451258
10235923505185190
1491359102149
Выход: ['0000312941295', '239124000124581598', '32852353800451258', '10235923505185190', '1491359102149']
.
Правила
- Вход может содержат ведущие нули. Выход не должен содержат ведущие нули.
- Если применимо, вы можете предположить, что ввод/вывод будет соответствовать родному целочисленному типу вашего языка.
- Входные и выходные данные могут быть заданы как любой удобный способ.
- Допускается либо полная программа, либо функция. Если это функция, вы можете вернуть вывод, а не печатать его.
- Стандартные лазейки запрещены.
- Таким образом, применяются все обычные правила игры в гольф, и побеждает самый короткий код (в байтах).
#код-гольф #код-гольф #массив