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
풀이 과정
Letter-logs와 Digit-logs로 나누어 정렬하되, Letter-logs가 Digit-logs보다 앞에 와야 하고, Digit-logs는 입력받은 순서대로 정렬하고 Letter-logs는 사전적으로 정렬을 해야하는 문제이다.
logs의 원소들을 split(' ')으로 공백을 기준으로 쪼갠 후, Letter와 Digit을 분류해주었다.
lets.sort(key=lambda x: (x.split()[1:], x.split()[0]))으로 letter log를 사전식으로 정렬하고, [1], [2], [3]...의 모든 원소가 같으면 identifiers로 정렬하게끔 하였다.
소스 코드
class Solution:
def reorderLogFiles(self, logs: list[str]) -> list[str]:
lets, digs = [], []
for log in logs:
if log.split(' ')[1].isdigit():
digs.append(log)
else:
lets.append(log)
lets.sort(key=lambda x: (x.split()[1:], x.split()[0]))
return lets + digs
'알고리즘 문제 풀이 > 리트코드' 카테고리의 다른 글
LeetCode - 5. Longest Palindromic Substring [Python] (0) | 2022.07.21 |
---|---|
LeetCode - 819. Most Common Word [Python] (0) | 2022.07.21 |
LeetCode - 344. Reverse String [Python] (0) | 2022.07.19 |
LeetCode - 125. Valid Palindrome [Python] (0) | 2022.07.19 |
LeetCode - Trapping Rain Water [Python] (0) | 2022.07.07 |