- Reference
- ์ซ์์ ๋ฌธ์ ๋ฐ๋ก ์ ์ฅํ๋ค๋ ๊ฒ์ ๊ธฐ์ตํ์.
- ๋๋ค ์ ๋ ฌ์ ์ ํ์ฉํ์.
Solution
from typing import List
class Solution:
# logs: ์ฌ์ ์์ผ๋ก ์ ๋ ฌ (๋ฌธ์ ๋จผ์ ์ ๋ ฌ๋๊ณ , ์ซ์๋ ์๋์ ์ธ ์์ ์ ์ง)
# ๋ฌธ์์ ์ซ์์ ์์ ์ ๋ ฌ ๋ฌธ์ ๋๊น lambda ์จ๋ณด์!
def reorderLogFiles(self, logs: List[str]) -> List[str]:
letters = []
digits = []
for log in logs:
identifier, words = log.split(" ", 1)
if log.split()[1].isalpha():
letters.append((identifier, words))
else:
digits.append(log)
letters.sort(key=lambda x: (x[1], x[0]))
real_letters = []
for letter in letters:
real_letters.append(" ".join(letter))
return real_letters + digits
print(Solution().reorderLogFiles(["dig1 8 1 5 1", "let1 art can", "dig2 3 6", "let2 own kit dig", "let3 art zero"]))
Another Solution
class Solution:
def reorderLogFiles(self, logs: List[str]) -> List[str]:
letters, digits = [], []
for log in logs:
if log.split()[1].isdigit():
digits.append(log)
else:
letters.append(log)
# x.split()[1:] -> ์ ์์ ์ ๋ ฌ์ธ ๋ฏ? ์ฌ๋ผ์ด์ฑ์ผ๋ก ์ ๋ ฌํ๋ ๊ฑด ์ฒ์ ๋ด
letters.sort(key=lambda x: (x.split()[1:], x.split()[0]))
return letters + digits
Leave a comment