https://leetcode.com/problems/reorder-data-in-log-files/
Reorder Data in Log Files[로그 파일 정렬]
python3
class Solution: def reorderLogFiles(self, logs: List[str]) -> List[str]: letter_log = [] digit_log = [] for log in logs: if log.split()[1].isnumeric(): digit_log.append(log) else: letter_log.append(log) return ( sorted(letter_log, key=lambda x: (x.split()[1:], x.split()[0]) ) + digit_log
) 코드를 입력하세요
[풀이]
1. 문자로그와 숫자로그 두개 배열을 만든다.
letter_log = []
digit_log = []
2. 로그에서 숫자인 것과 문자인 것을 분리 해서 담는다.
for log in logs:
#토큰 문자/숫자 인덱스 1
if log.split()[1].isnumeric():
digit_log.append(log)
else:
letter_log.append(log)
3. 문자로그는 정렬한다.(식별자는 냅두고 lamda 익명함수로 인덱스 1뒤부터)
sorted(letter_log, key=lambda x: (x.split()[1:], x.split()[0]) )
[lamda 익명함수 관련은 하기 참조]
https://gorokke.tistory.com/38
식별자를 기준으로 문자와 숫자 나누고
문자는 정렬한다.
흠 문자와 숫자를 나누는 것은
인간의 세계와 컴퓨터의 세계를 구분하는
활용도에 대해서 생각해보게된다.