https://leetcode.com/problems/reorder-data-in-log-files/
생각
파이썬에서는 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
'Algorithm' 카테고리의 다른 글
[LeetCode] Python - 202. Happy Number (0) | 2021.07.03 |
---|---|
[LeetCode] Python - 289. Game of Life (0) | 2021.07.02 |
[LeetCode] Python - 198. House Robber (0) | 2021.06.30 |
[LeetCode] Python - 1466. Reorder Routes to Make All Paths Lead to the City Zero (0) | 2021.06.29 |
[LeetCode] Python - 11. Container With Most Water (0) | 2021.06.28 |