Слова по полкам

Когда слов много, их удобно раскладывать по группам: короткие к коротким, длинные к длинным. Дан список слов, а тебе нужно вернуть словарь, где ключ — длина слова в виде строки, например "2", а значение — список слов такой длины. Порядок слов внутри каждой группы должен остаться таким же, как во входном списке.

Примеры

Ввод
["a", "bb", "cc", "ddd"]
Вывод
{"1": ["a"], "2": ["bb", "cc"], "3": ["ddd"]}
Ввод
[]
Вывод
{}
Ввод
["hi", "to", "go"]
Вывод
{"2": ["hi", "to", "go"]}

Нужно реализовать

def group_by_length(words: list[str]) -> dict[str, list[str]]:

Теги

stringsdicthashmap
PostgreSQLv16

Здесь будет результат выполнения кода

Видимые тесты
1
Ввод
["a","bb","cc","ddd"]
Ожидаемый{"1":["a"],"2":["bb","cc"],"3":["ddd"]}
2
Ввод
[]
Ожидаемый{}
3
Ввод
["hi","to","go"]
Ожидаемый{"2":["hi","to","go"]}
4
Ввод
["x"]
Ожидаемый{"1":["x"]}
5
Ввод
["one","two","six","three"]
Ожидаемый{"3":["one","two","six"],"5":["three"]}
6
Ввод
["ab","cde","f"]
Ожидаемый{"1":["f"],"2":["ab"],"3":["cde"]}
Фокус-радио
На паузе · SomaFM · Fluid