ํด์ค ์ฝ๋
def solution(files):
ans = []
head, number, tail = '','',''
for file in files:
for i in range(len(file)):
# ์ฐ์ ํ์ผ์ head์ number๋ก๋ง ๋๋๋ค.
if file[i].isdigit():
head = file[:i]
number = file[i:]
# number์ ๋ค์ number์ tail๋ก ๋๋๋ค.
for k in range(len(number)):
if not number[k].isdigit():
tail = number[k:]
number = number[:k]
break
# ๋ฐฐ์ด์ ๊ฐ๊ฐ์ ๊ฐ์ ์ถ๊ฐํ ํ head,number,tail๊ฐ์ resetํ๋ค.
ans.append([head,number,tail])
head,number,tail = '', '', ''
break
# ๋์๋ฌธ์ ๊ตฌ๋ถ์ ํ์ง ์๊ธฐ ๋๋ฌธ์ ์๋ฌธ์๋ก ๋ฐ๊พผ ๊ฐ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌ ํ ์ซ์์ ๊ฐ์ ๋น๊ตํ๋ค.
ans.sort(key = lambda x: (x[0].lower(),int(x[1])))
return [''.join(x) for x in ans]
๋ถ์ > ํ๊ธด ํ์์ผ๋ ์๊ฐ์ด๊ณผ๊ฐ ๋ ๋ฌธ์ . ํด์ค ์ฝ๋์์ ์ป์ ์ข์ ์์ด๋์ด๋ ์ ์ด์ head์ number ๋ถ๋ถ์ file๋ด ์ซ์๋ฅผ ๊ธฐ์ค์ผ๋ก ๋ถ๋ฆฌํ๊ณ number์ ๋ค์ ์ง์ง number์ tail๋ก ๋๋์ด ๊ฐ์ ์ป์ ๊ฒ์ด๋ค. ๋์ ๊ฒฝ์ฐ head์ number์ ๊ตฌํ ํ ์๋ file ๊ฐ์์ head์ number๊ฐ์ ๊ณต๋ฐฑ์ผ๋ก replaceํ๋ ๋ฐฉ๋ฒ์ ์ ํํ์๋๋ฐ, ์ด ์ฝ๋๋ฅผ ๋ณด๋ ๊ทธ๋ฅ ์ฒ์๋ถํฐ ๋ ๊ฐ๋ก ๋ถ๋ฆฌ ํ ๋ค์ ๋ถ๋ฆฌํ๋ ๋ฐฉ๋ฒ์ ํํ๋ฉด ํจ์ฌ ํจ์จ์ ์ผ๋ก ๋ฌธ์ ๋ฅผ ํด๊ฒฐํ ์ ์๋ค๋ ๊ฒ์ ์๊ฒ ๋์๋ค. ๋ ๋์๋ฌธ์๋ฅผ ๊ตฌ๋ถํ์ง ์๊ณ ์ ๋ ฌํ ํ ์ซ์๋ฅผ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํ๋ ๋ฐฉ๋ฒ์ ์๊ฒ ๋์๋๋ฐ, ๋์๋ฌธ์๋ฅผ ๊ตฌ๋ถํ์ง ์๋๋ค๋ ๊ฒ์ ๋ฌธ์๋ฅผ ๊ทธ๋ฅ ์๋ฌธ์๋ก ๋ฐ๊พผ ๊ฐ์ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํ๋ค๋ ๋ป์ด๊ธฐ ๋๋ฌธ์ .lower์ ์ด์ฉํด ์ ๋ ฌํด์ฃผ๊ณ ํ์ฌ ๊ฐ ๊ฐ์ ๋ฌธ์์ด์ด๊ธฐ ๋๋ฌธ์ ์ซ์ ๋น๊ต๋ฅผ ์ํด ์ ์ํ์ผ๋ก ๋ฐ๊ฟ์ค ๊ฐ์ ๊ธฐ์ค์ผ๋ก ์ ๋ ฌํ๋ฉด ๋ด๊ฐ ์ํ๋ ๊ฐ์ ์ป์ ์ ์์๋ค.
'Algorithm > Programmers' ์นดํ ๊ณ ๋ฆฌ์ ๋ค๋ฅธ ๊ธ
[Programmers] ๊ตฌ๋ช ๋ณดํธ (0) | 2022.05.19 |
---|---|
[Programmers] ์์ ์ฐพ๊ธฐ (0) | 2022.05.19 |
[Programmers] ํคํจ๋ ๋๋ฅด๊ธฐ (0) | 2022.05.19 |
[Programmers] ์์ฅ (0) | 2022.05.18 |
[Programmers] K๋ฒ์งธ ์ (0) | 2022.05.07 |