Учитывая непустую строку, состоящую только из строчных и заглавных буквенных символов и пробелов ( [a-zA-Z ]
), уменьшите ее до фрагмента алфавита, начиная с первого символа.
Чтобы уменьшить строку, начните с первого алфавитного символа, затем удалите каждый символ после него, который не является следующей буквой алфавита. Продолжайте делать это, пока не дойдете до конца строки.
Например codegolf
:
Начните с c
удаления, o
поскольку это не следующая буква алфавита.
Продолжайте , d
как это является следующей буквой алфавита, и сохранить , e
как это следующая буква тоже.
Удалить g
, o
и l
, и сохранить f
.
Ваш последний фрагмент будет тогда cdef
правила
- Капитализация должна быть сохранена, поэтому
CodEgolF
приведет кCdEF
- Пробел не является буквой алфавита, и поэтому всегда должен быть удален, даже если это начало строки
- Из-за характера сокращения первый алфавитный символ ввода всегда будет первым символом вывода.
zZ
это последняя буква алфавита. После него букв нет, алфавит не зацикливается.
Тестовые случаи
codegolf -> cdef
CodEgolf -> CdEf
codeolfg -> cdefg
ProgrammingPuzzles -> P
Stack Exchange -> St
The quick red fox jumped over the lazy brown dog -> Tuvw
Zebra -> Z
Abcdegfhijkl -> Abcdef
счет
Это код-гольф , поэтому выигрывает меньшее количество байтов на каждом языке !
<space>codegolf
z
мы просто остановимся, верно?