Dada a entrada de uma lista de dias da semana, produza a representação ordenada mais curta da lista.
O formato da entrada é uma cadeia que consiste em um ou mais dos substrings de dois caracteres Su
(domingo), Mo
(segunda-feira), Tu
(etc.), We
, Th
,
Fr
, e Sa
. A entrada pode não ser necessariamente fornecida em ordem classificada.
Para converter a entrada no formato de saída,
Classifique a entrada por dia da semana, começando no domingo (ex.
ThMoSaSuFrTuWe
->SuMoTuWeThFrSa
).Reduza as abreviações para uma letra se não deixar ambiguidade . Por exemplo,
SuMoTuWe
deve se tornarSMTW
porque o primeiro S não poderia ser possível no sábado, pois isso tornaria a saída não classificada (o mesmo para o T). No entanto,ThFrSa
deve se tornarThFS
, já que terça e quinta-feira acontecem antes da sexta-feira e reduzi-la paraTFS
criar ambiguidade.Se a saída for agora
MTWTF
, emD
vez disso (que significa " dia da semana s"). Da mesma forma,SS
deve se tornarE
para o final de semana . Finalmente,SMTWTFS
deve se tornarA
para todos os dias.
A entrada e a saída devem ser uma única sequência.
Como esse é o código-golfe , o código mais curto em bytes vence.
Casos de teste:
In Out | In Out
-----------------------|--------------------
SuTu STu | SuTuWe STW
SuTuSa STuS | SuWeTh SWT
TuThSa TTS | TuThSu STT
Su Su | Sa Sa
WeTh WT | FrTh ThF
WeTu TW | FrTu TuF
FrWeMo MWF | SaWeSu SWS
ThTu TT | We W
ThTuMoFrWe D | SaSu E
SuMoWeTuThFr SMTWTF | ThMoSaSuFrTuWe A