Oto stosunkowo proste wyzwanie:
Biorąc pod uwagę listę dodatnich liczb całkowitych:
Ułóż je w siatkę i zsumuj każdą kolumnę. Na przykład, jeśli dane wejściowe
[123, 7, 49, 681]
byłyby, siatka wyglądałaby następująco:1 2 3 7 4 9 6 8 1
A suma każdej kolumny byłaby
[18, 19, 4]
:1 2 3 7 4 9 6 8 1 -------- 18 19 4
Znajdź maksimum tych sum, które w tym przypadku wynosi 19, a następnie
Wypisuj każdą cyfrę o tym samym indeksie co ta maksymalna kolumna. W tym przypadku tak by było
2 9 8
Nie musisz wyprowadzać tych liczb w określonej kolejności. Zauważ, że są tylko trzy wyjścia, mimo że mieliśmy 4 wejścia. W przypadku remisu wybierz najwcześniejszy indeks. Na przykład, jeśli dane wejściowe były
[25, 223, 302]
, twoja siatka to:2 5 2 2 3 3 0 2 ------- 7 7 5
Powinieneś wyjść
2 2 3
Możesz wydrukować te liczby w dowolnym formacie. Format listy, separacja nowego wiersza, separacja spacji itp. Nie możesz traktować danych wejściowych jako tablicy cyfr 2D, np
[[1, 2, 3],
[7],
[4, 9],
[6, 8, 1]
Ale poza tym możesz brać dane wejściowe jako listę ciągów, listę cyfr lub w dowolnym innym rozsądnym formacie.
Możesz także założyć, że wszystkie dane wejściowe będą prawidłowe i będą zawierać co najmniej dwie liczby.
Jak zwykle, najkrótsza odpowiedź w bajtach wygrywa!
Test IO:
#Input #Output
[1, 11, 111, 1111] --> [1, 1, 1, 1]
[1, 12, 123] --> [2, 2]
[987654321, 111] --> [9, 1]
[111, 123456789] --> [9]
[4, 8, 15, 16, 23, 42] --> [4, 8, 1, 1, 2, 4]
[4, 8, 12, 26, 27, 38] --> [2, 6, 7, 8]
[24, 53] --> [2, 5]
[12, 304, 506] --> [4, 6]
[30, 285, 121] --> [0, 8, 2]
0
. Zero zwykle nie jest uważane za pozytywne po angielsku.