Инвертирование объекта

Дан объект со значениями — массивами строк. Например, каждый пользователь решил несколько задач и user2problems является объектом с ключами-пользователями и значениями — массивами айдишников задач.

Необходимо «инвертировать» объект. Тогда результатом работы функции будет объект с ключами-задачми и и значениями — массивами пользователей, которые эту задачу решили.

const user2problems = { user1: ["problemA", "problemB"], user2: ["problemB", "problemC", "problemD"], user3: ["problemA"], user4: ["problemC", "problemD"], user5: ["problemB"], }; const problem2users = invertObject(user2problems); console.log(problem2users); const expected = { problemA: ["user1", "user3"], problemB: ["user1", "user2", "user5"], problemC: ["user2", "user4"], problemD: ["user2", "user4"] };