-
[leetcode] 937. Reorder Log FilesAlgorithm/1일 1코테 2021. 4. 28. 09:12반응형
leetcode.com/problems/reorder-data-in-log-files/submissions/
로그를 재정렬 하는 문제
조건은
1. 문자가 숫자의 앞
2. 제일 앞 문자가 동일할 경우 식별자 순으로 나열
3. 숫자로그는 입력 순서대로
처음에 생각한 건 sort로 정렬시킨 다음에 문자/숫자 나누려고 했는데 그러면 숫자로그가 입력순이 아니게 됨
결국 하나하나 Dig인지 Let인지 따져야 한다.
class Solution: def reorderLogFiles(self, logs: List[str]) -> List[str]: let = [] dig = [] for log in logs: if log.split()[1].isdigit(): # 숫자면 append dig.append(log) else: let.append(log) # x.split()[1:] - 식별자를 제외한 나머지를 키로 삼되, 동일한 경우 식별자로 정렬 let.sort(key=lambda x: (x.split()[1:], x.split()[0])) return let + dig
반응형'Algorithm > 1일 1코테' 카테고리의 다른 글
[leetcode] 1. Two Sum (0) 2021.05.04 [leetcode] 819. Most Common Word (0) 2021.04.28 [leetcode] 344. Reverse String (0) 2021.04.14 [leetcode] 125.Valid Palindrome (0) 2021.04.14 [🐉 백준 13단계] 백트래킹 (0) 2021.01.04