Partition into letter-logs and digit-logs, sort the letter-logs with a custom comparator, then concatenate.
function reorderLogFiles(logs):
letterLogs = []
digitLogs = []
for log in logs:
id, rest = log.split(" ", 1)
if rest[0].isdigit():
digitLogs.append(log)
else:
letterLogs.append(log)
letterLogs.sort(key = lambda log: (
log.split(" ", 1)[1],
log.split(" ", 1)[0]
))
return letterLogs + digitLogs
time, space.