요구 조건을 깔끔하게 처리할 수 있는지 묻는 문제.
isdigit() 함수로 숫자인지 판별 가능.
sort(), sorted() 함수는 key값, reverse 유무를 지정해서 정렬방식을 정할 수 있다.
lambda 표현식을 통해 식별자나 함수 선언 없이 하나의 식으로 함수를 단순하게 표현할 수 있다. map이나 fileter와 함께 섞어서 사용하면 가독성이 떨어질 수 있다.
class Solution:
def reorderLogFiles(self, logs):
letters = []
digits = []
for log in logs:
if log.split()[1].isdigit():
digits.append(log)
else:
letters.append(log)
letters.sort(key = lambda x: (x.split()[1], x.split()[0]))
return letters + digits