А если проверку чуть модернизировать? Если количество карточек не делится без остатка на 3, то разбивать на блоки по 3 карточки, а остаток размещать по-другому.
Кроме того, если не обязательно привязываться к краю контейнера, есть отличное свойство
justify-content: space-evenly;
которое точно распределит карточки по всему контейнеру с одинаковыми расстояниями