fork download
  1. f = lambda s,k:`sorted(s,key=lambda c:`k.index(3-ord(c)/32)`+c)`[2::5]
  2.  
  3. for (s,k) in ('a1B2c3', [2, 0, 1]), ('aAaA909UuHWw9gh2', [2, 1, 0]), ('6Bx43', [2, 1, 0]), ('jfjf33g', [1, 0, 2]), ('AbC13', [0, 2, 1]), ('Qfl0l', [1, 2, 0]), ('9870abcABC', [0, 1, 2]), ('test123', [0, 2, 1]), ('WHAT', [2, 0, 1]), ('WhAt', [2, 0, 1]), ('102BACbac', [1, 0, 2]):
  4. print f(s,k)
Success #stdin #stdout 0.01s 9016KB
stdin
('a1B2c3', [2, 0, 1]), ('aAaA909UuHWw9gh2', [2, 1, 0]), ('6Bx43', [2, 1, 0]), ('jfjf33g', [1, 0, 2]), ('AbC13', [0, 2, 1]), ('Qfl0l', [1, 2, 0]), ('9870abcABC', [0, 1, 2]), ('test123', [0, 2, 1]), ('WHAT', [2, 0, 1]), ('WhAt', [2, 0, 1]), ('102BACbac', [1, 0, 2])
stdout
123acB
02999AAHUWaaghuw
346Bx
ffgjj33
b13AC
Q0fll
abcABC0789
estt123
AHTW
htAW
ABCabc012