Algorithm
[LeetCode] Python - 937. Reorder Data in Log Files
두잉두잉
2021. 7. 1. 21:52
https://leetcode.com/problems/reorder-data-in-log-files/
Reorder Data in Log Files - LeetCode
Level up your coding skills and quickly land a job. This is the best place to expand your knowledge and get prepared for your next interview.
leetcode.com
생각
파이썬에서는 sort에 key값을 지정하여 동일 조건일때 후순위 조건을 필터링 할 수 있다.
따라서 문자로그를 정렬할때 첫번째 기준으로 식별자를 제외한 나머지 문자를 사전순으로 정렬하고, 나머지 문자가 모두 동일하다면 식별자를 기준으로 정렬한다는 조건을 주었다.
Python Code
class Solution:
def reorderLogFiles(self, logs: List[str]) -> List[str]:
#식별자 : 첫번째 문자
#문자로그 : 식별자 제외하고 모든 단어가 소문자
#숫자로그 : 식별자 제외하고 모든 단어가 숫자
#1. 문자로그는 숫자로그보다 먼저 나옴
#2. 문자로그는 내부가 사전순으로 정렬, 내용물이 같으면 식별자 순으로 정렬
letters = []
digits = []
for log in logs:
if log[-1].isalpha() :
letters.append(log)
else:
digits.append(log)
letters.sort(key=lambda x:(x.split()[1:], x.split()[0]))
return letters+digits