Ctrl K

Текст на узком табло

Лёгкая
Табло показывает строки шириной не больше 100 пикселей. Каждая строчная латинская буква занимает свою ширину: widths[0] — ширина a, widths[1] — ширина b, и так далее. Текст text выводится по буквам слева направо: очередная буква ставится в текущую строку, если суммарная ширина строки после этого не превысит 100. Иначе начинается новая строка, и буква становится в неё первой. Слова не переносятся отдельно — важны только буквы. Верните список из двух чисел: сколько строк займёт текст и какова ширина последней строки в пикселях.
Пример 1
widths=[20, 30, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10], text="abbac" → [2, 10]

a, b, b — это 20 + 30 + 30 = 80 пикселей; следующая a (20) ещё влезает ровно до 100. Буква c уходит на вторую строку, её ширина 10.

Пример 2
widths=[5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5, 5], text="hello" → [1, 25]

Пять букв по 5 пикселей — одна строка шириной 25.

Ограничения
  • len(widths) = 26
  • 1 ≤ widths[i] ≤ 100
  • 1 ≤ len(text) ≤ 1000
  • text состоит из строчных латинских букв
Встречал эту задачу на настоящем собесе?
Решили0
Пробовали0
Отправок0
Принято—
Темы
Похожие задачиДва слова ближе всего ЛёгкаяСлова одного ряда ЛёгкаяГде поужинать вдвоём ЛёгкаяФразы со словами-синонимами ЛёгкаяСлово из букв автономера Лёгкая
загружаем Python…
Вход
widths=[20, 30, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10, 10], text="abbac"
Ожидается
[2, 10]

«Запустить» — первые 3 теста у тебя в браузере, «Отправить» — все 48 тестов на сервере, включая скрытые.