Python
파이썬 알고리즘 인터뷰 - 03. 로그파일 재정렬
s코딩초보s
2022. 1. 5. 22:24
<--- 리트코드 937. Reorder Log Files --->
# 문제: 로그를 재정렬하라. 기준은 다음과 같다.
1. 로그의 가장 앞 부분은 식별자다.
2. 문자로 구성된 로그가 숫자 로그보다 앞에온다.
3. 식별자는 순서에 영향을 끼치지 않지만, 문자가 동일할 경우 식별자 순으로 한다.
4. 숫자 로그는 입력 순서대로 한다.
입력
["digl 8 1 5 1", "letl art can", "dig2 3 6", "let2 own kit dig", "let3 art zero"] |
출력
["letl art can", "let3 art zero", "let2 own kit dig", "digl 8 1 5 1", "dig2 3 6"] |
# 풀이
1. 람다와 + 연산자 이용
1
2
3
4
5
6
7
8
9
10
11
12
|
def reorder_log_files(logs):
letters, digits = [], []
for log in logs:
if log.split()[1].isdigit():
digits.append(log)
else:
letters.append(log)
print(letters)
letters.sort(key=lambda x: (x.split()[1:], x.split()[0]))
return letters + digits
|
cs |