728x90
반응형
Leet Code 937번 로그파일 재정렬이다. 단순히 문제를 읽었을 때 파악하지 못한 개념이 있었다. 문제를 읽다 보면 하단의 2번 항목에 "lexicographically"라는 단어가 나온다. 찾아보니 "사전식 순서"라는 뜻이라고 해석된다. 즉 문제에서 요구하는 바가 정렬하는 내용이 같을 경우 식별자를 통해 사전식 순서로 정렬을 하라고 요구하는 것이다.
그런데 사전식 순서로 정렬을 하는 것이 어떤 의미일까? 검색 결과 sort()에 'key' 라는 키워드 인자를 설정하고 정렬 기준을 문제에서 요구하는 바와 같이 잡으면 된다. 아래는 풀이 코드이다.
class Solution:
def reorderLogFiles(self, logs: List[str]) -> List[str]:
letter_log, digit_log = list(), list()
for log in logs:
if log.split()[1].isdigit():
digit_log.append(log)
else:
letter_log.append(log)
letter_log.sort(key=lambda x: (x.split()[1:], x.split()[0]))
return letter_log + digit_log
728x90
반응형
'Algorithm > LeetCode' 카테고리의 다른 글
[LeetCode] Two Sum (0) | 2021.10.03 |
---|---|
[Leet Code] longest-palindromic-substring (1) | 2021.09.29 |
[Leet Code] Group Anagrams (0) | 2021.09.26 |
[LeetCode] Palindrome 고찰하기 (0) | 2021.09.12 |
LeetCode를 통해서 본 Python의 문자열 뒤짚기 (0) | 2021.04.20 |