Reorder Data in Log Files[로그 파일 정렬]

임명수·2022년 7월 9일
0

파이썬 알고리즘

목록 보기
3/5
post-thumbnail

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

식별자를 기준으로 문자와 숫자 나누고
문자는 정렬한다.

흠 문자와 숫자를 나누는 것은 
인간의 세계와 컴퓨터의 세계를 구분하는
활용도에 대해서 생각해보게된다.
profile
푸른영혼의별

0개의 댓글