Pangrams
Быстрая, коричневая лиса, перепрыгнула через ленивого пса.
Это пример панграммы - предложения, которое содержит каждую букву алфавита хотя бы один раз.
Самостоятельной перечислении панграмма является предложением , который удовлетворяет критериям , чтобы быть панграмма, производя анализ его собственного подсчета букв.
Примером достижения этого является предложение
Эта панграмма содержит четыре As, один B, два C, один D, тридцать Es, шесть F, пять G, семь H, одиннадцать Is, один J, один K, два Ls, два M, восемнадцать N, пятнадцать Os, два P , один Q, пять рупий, двадцать семь Ss, восемнадцать Ts, два Us, семь V, восемь W, два X, три Y и один Z.
Соревнование
Создайте функцию, в которой вводом будет строка, ведущая в список букв. В этом примере вводом будет «Эта панграмма содержит». Количество каждой буквы должно быть в письменной форме и вносить вклад в отображаемое количество букв.
правила
- Оксфордская запятая необязательна
- Используйте амперсанд перед Z (или, для жесткого режима, включите возможность переключения между «&» и «и» в функции)
- Каждая буква учитывается в общем количестве букв
- Нет неписанных чисел
- Это код-гольф, поэтому выигрывает самый короткий код в байтах
- В HONO у г о супружеской пары в эти выходные, цифры должны быть написаны на Королевы английском языке. например,
nine hundred and ninety-nine Gs
для 999 вхождений буквы G иnine hundred and nine Gs
для 909. - Порядки должны быть записаны в стандартном соглашении по сокращенному именованию
Краевые случаи
- В некоторых случаях код застревает в цикле - например, если есть две ОС, код увеличивает счет до трех ОС, что заставляет код снова считать две ОС. Если вычисление любого другого письма , прежде чем возвращаться к этому не может решить эту проблему, рассмотрит ввод ложный стартер и выход
false
,null
или пустая строка. - Если в письме более 999 вхождений, ввод следует считать фальстартером.
Тестовые случаи
- «Эта панграмма содержит» должно выводить пример предложения
Rob enjoys any sentence with two As, two Bs, two Cs, one D, thirty five Es, four Fs, three Gs, nine Hs, eight Is, two Js, one K, two Ls, one M, twenty two Ns, eighteen Os, one P, one Q, nine Rs, twenty three Ss, twenty three Ts, three Us, four Vs, eleven Ws, one X, seven Ys, & one Z.
o
s без слова для счетчика, то, когда вы записываете его с помощьюtwo
, вся строка теперь имеет три-o
s, что означает, что слово теперь неверно, переключение делает его снова неправильным и т.д.