fork download
  1. def w(n,a=lambda b,c,d:b.replace(c[0],d).replace(c[1],d)):d=''.join([[o[0],o][o[0]in'ST']for o in['Su','Mo','Tu','We','Th','Fr','Sa']if o in[n[i:i+2]for i in range(0,len(n),2)]]);d=[d,a(d,['Tu','Th'],'T')][('W'in d)+('TuT'in d)];l=len(d);d=[d,a(d,['Su','Sa'],'S')][l>2];return[[[d,'A'][l>8],'E'][d=='SS'],'D'][d=='MTWTF']
  2.  
  3. tests=['SuTu','SuTuSa','TuThSa','Su','WeTh','WeTu','FrWeMo','ThTu','ThTuMoFrWe','SuMoWeTuThFr','SuTuWe','SuWeTh','TuThSu','Sa','FrTh','FrTu','SaWeSu','We','SaSu','ThMoSaSuFrTuWe']
  4. [print(n + ": " + w(n)) for n in tests]
Success #stdin #stdout 0.02s 9936KB
stdin
Standard input is empty
stdout
SuTu: STu
SuTuSa: STuS
TuThSa: TTS
Su: Su
WeTh: WT
WeTu: TW
FrWeMo: MWF
ThTu: TT
ThTuMoFrWe: D
SuMoWeTuThFr: SMTWTF
SuTuWe: STW
SuWeTh: SWT
TuThSu: STT
Sa: Sa
FrTh: ThF
FrTu: TuF
SaWeSu: SWS
We: W
SaSu: E
ThMoSaSuFrTuWe: A