Вступ
Припустимо, у вас є список списків цілих чисел (або будь-яких об'єктів насправді, але давайте дотримуватися цілих чисел для простоти). Списки можуть бути різної довжини, а деякі з них можуть бути порожніми. Запишемо списки в табличному форматі:
[[ 1, 2, 3, 4, 5],
[ 6, 7],
[ 8, 9, 10, 11],
[],
[12, 13, 14],
[15, 16, 17, 18]]
Ця таблиця має 5 вертикальних стовпців, що містить число 1, 6, 8, 12, 15, 2, 7, 9, 13, 16, 3, 10, 14, 17, 4, 11, 18, і 5. Якщо ми перевернемо кожен стовпець, ми отримаємо списки 15, 12, 8, 6, 1, 16, 13, 9, 7, 2, 17, 14, 10, 3, 18, 11, 4, і 5. Давайте підключимо ці числа назад до стовпців таблиці, зберігаючи довжини рядків такими ж, як і раніше:
[[15, 16, 17, 18, 5],
[12, 13],
[ 8, 9, 14, 11],
[],
[ 6, 7, 10],
[ 1, 2, 3, 4]]
Ваше завдання - здійснити цю операцію.
Вхід і вихід
Ваш вхід - це список списків неотримних цілих чисел, що представляють рядки. Рядки можуть мати різну довжину, а деякі з них можуть бути порожніми. Завжди буде хоча б один ряд. Ваш результат є результатом обертання кожного стовпця, як детально описано вище. Введення та вихід можуть бути у будь-якому розумному форматі.
Виграє найменший кількість байтів у кожній мові. Діють стандартні правила гольф-коду .
Тестові кейси
[[]] -> [[]]
[[],[]] -> [[],[]]
[[8,5,1]] -> [[8,5,1]]
[[1,200],[0,3]] -> [[0,3],[1,200]]
[[],[3,9],[1],[]] -> [[],[1,9],[3],[]]
[[],[5,8,7],[0,6,5,7,1]] -> [[],[0,6,5],[5,8,7,7,1]]
[[1,8,5],[7,5,4],[],[1]] -> [[1,5,4],[7,8,5],[],[1]]
[[],[],[2],[],[31],[],[5],[],[],[],[7]] -> [[],[],[7],[],[5],[],[31],[],[],[],[2]]
[[1,10,100,1000],[2,20,200],[3,30],[4],[5,50,500],[6,60],[7]] -> [[7,60,500,1000],[6,50,200],[5,30],[4],[3,20,100],[2,10],[1]]
[[8,4],[3,0,4,8,1],[8],[0,8],[9,7,1,6],[3,8,1,9,5]] -> [[3,8],[9,7,1,9,5],[0],[8,8],[3,0,1,6],[8,4,4,8,1]]
[[3,9,3],[5],[1],[3,5],[9,0,6,2],[1,3],[4,9,2],[6,6,7,8,7]] -> [[6,6,7],[4],[1],[9,9],[3,3,2,8],[1,0],[5,5,6],[3,9,3,2,7]]
[[8,5,6],[3,5,2,4,9],[4,3,8,3,7],[6,1,1],[1,8,9,9],[9,1,2],[8,7]] -> [[8,7,2],[9,1,9,9,7],[1,8,1,3,9],[6,1,8],[4,3,2,4],[3,5,6],[8,5]]
[[2,4],[1,4],[0,8,7,3],[4,9,2,5],[2,8,0],[0,8,3],[7,3,1],[],[3,3,7,8]] -> [[3,3],[7,3],[0,8,7,8],[2,8,1,5],[4,9,3],[0,8,0],[1,4,2],[],[2,4,7,3]]
[[1,9],[3],[2,4,5]] -> [[2,4],[3,null],[1,9,5]])