Создание столбцов одинаковой ширины

Поэтому у меня возникла проблема, из-за которой я не могу обдумать.

Я создаю список покупок, который делится на десять категорий различной длины. (Все элементы поступают из базы данных). Я получил его для работы при использовании одного столбца, но мне нужно разделить список на четыре столбца. Код должен решить, какие категории должны идти туда, где четыре столбца имеют максимально равное количество элементов.

Это будет выглядеть список, когда код работает.

Из этих десяти категорий четыре из них имеют определенную категорию, к которой они принадлежат.

Способ, которым я подошел, состоит в том, чтобы подсчитать общее количество элементов и разделить его на четыре, чтобы вычислить среднее количество элементов на столбец. Я помещал четыре специальные категории в их соответствующую колонку и отслеживал количество элементов в каждом столбце.

Теперь у меня осталось шесть столбцов разных размеров. Каков наилучший подход для размещения их в столбце, который лучше всего подходит? Поскольку некоторые категории намного больше других, некоторые столбцы могут иметь три или четыре категории.

ОБНОВЛЕНИЕ: сразу после того, как я опубликовал это, я пришел к пониманию, что я должен найти столбец с наименьшими элементами и добавить к нему самую большую категорию. Кажется, это сработает. И похоже, что Дейв предлагает то же самое!