Reorder LogFiles
logs = ["dig1 8 1 5 1","let1 art can","dig2 3 6","let2 own kit dig","let3 art zero"]
๋ฌธ์๋ก๋ง ๊ตฌ์ฑ๋ ๋ก๊ทธ๋ค์ด ์์ ์์ผํจ
let1 art can ๋ค์ dig1 8 1 5 1
๋ฌธ์๋ก๋ง ๊ตฌ์ฑ๋ ๋ก๊ทธ๋ผ๋ฆฌ๋ art can, own kit dig ์ ๊ฐ์ง๊ณ ๋น๊ตํด์ ์ํ๋ฒณ ์์ผ๋ก ์ ๋ ฌํจ
art can, art zero ์ฒ๋ผ ๋งจ์ฒ์ ์์ํ๋ ๋ฌธ์๊ฐ ๊ฐ์ผ๋ฉด let1, let3 ์ ๋น๊ตํด์ let1 โ let3 ์ด ๋๋๋ก ์ ๋ ฌํจ
์ผ์ฐจ์ ์ผ๋ก ์ซ์ ๋ก๊ทธ , ๋ฌธ์๋ก๊ทธ๋ฅผ ๋ถํ ํจ
ํ์ ์ ๊ฒ์ฌํ์ง ์๊ณ ์ค์ ์ซ์์ธ์ง isdigit() ์ ํตํด ํ์ธํจ
sorted ๋ฅผ ํตํด ๋ฌธ์๋ก๋ง ๊ตฌ์ฑ๋ ๋ก๊ทธ ์ ๋ ฌ
javascript ์ ๋ฌ๋ฆฌ ์ด๋ค๊ฑธ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํ ๊ฑด์ง๋ฅผ argument ์ ๋ฃ์ด์ฃผ๋ฉด ๋จ
sorted() ์ ์๋ฌด๊ฒ๋ ์๋ฃ์ผ๋ฉด ์ค๋ฆ์ฐจ์์ผ๋ก ์ ๋ ฌํจ
list ์ ๋์ ๋๋ฆฌ๊ฐ ์๋ json ๊ฐ์ ๊ฒฝ์ฐ ํน์ key ๋ฅผ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํ ์ ์๋ค.
์๋ ์์๋ฅผ ๋ณด๋ฉด ์ผ์ฐจ์ ์ผ๋ก id ๋ฅผ ๊ธฐ์ค์ผ๋ก ์ค๋ฆ์ฐจ์ ์ ๋ ฌํ์ง๋ง ๋ง์ฝ id ๊ฐ ๊ฐ์ ๊ฒฝ์ฐ
2์ฐจ ํค๋ก name ์ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํ ๊ฒฐ๊ณผ๋ฅผ ๋ฆฌํดํ๋ค.
sample =[
{"id":1,"name":"a"},
{"id":2,"name":"f"},
{"id":2,"name":"c"},
{"id":2,"name":"b"}
]
print("before",sample)
sample.sort(key = lambda x:(x["id"],x["name"]))
print("after",sample)
python ์์๋ ๋๊ฐ์ list ๋ฅผ ํฉ์ณ์ ํ๋์ list ๋ฅผ ๋ง๋ค ๋ ๋จ์ํ + ํด์ฃผ๋ฉด ๋๋ค.
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)
return sorted(letters,key = lambda x:(x.split()[1:],x.split()[0]) )+digits
Author And Source
์ด ๋ฌธ์ ์ ๊ดํ์ฌ(Reorder LogFiles), ์ฐ๋ฆฌ๋ ์ด๊ณณ์์ ๋ ๋ง์ ์๋ฃ๋ฅผ ๋ฐ๊ฒฌํ๊ณ ๋งํฌ๋ฅผ ํด๋ฆญํ์ฌ ๋ณด์๋ค https://velog.io/@rud285/Reorder-LogFiles์ ์ ๊ท์: ์์์ ์ ๋ณด๊ฐ ์์์ URL์ ํฌํจ๋์ด ์์ผ๋ฉฐ ์ ์๊ถ์ ์์์ ์์ ์ ๋๋ค.
์ฐ์ํ ๊ฐ๋ฐ์ ์ฝํ
์ธ ๋ฐ๊ฒฌ์ ์ ๋
(Collection and Share based on the CC Protocol.)
์ข์ ์นํ์ด์ง ์ฆ๊ฒจ์ฐพ๊ธฐ
๊ฐ๋ฐ์ ์ฐ์ ์ฌ์ดํธ ์์ง
๊ฐ๋ฐ์๊ฐ ์์์ผ ํ ํ์ ์ฌ์ดํธ 100์ ์ถ์ฒ ์ฐ๋ฆฌ๋ ๋น์ ์ ์ํด 100๊ฐ์ ์์ฃผ ์ฌ์ฉํ๋ ๊ฐ๋ฐ์ ํ์ต ์ฌ์ดํธ๋ฅผ ์ ๋ฆฌํ์ต๋๋ค